÷ƒ’Ŕ;č TeX output 2003.04.04:1550‹˙˙˙˙ Ű_2 ý ~? ՁÁ ýZ2˙óţÖëI˝q˝qecss2074ťDe–fŃUnix“en“Internet“Basis“HO‘˙wmWTOŽ¤ Ž„ŘcŐÁGŽŽĄó 1ęą ecrm1000šdoGor–U Eric“S.“Ra¸čymond,ŽĄv¸čertaald–U doGor“Ellen“Bokhorst’yv1.7,“6“maart“2000ŽĄŸ&°óŒ6 ecss1000źDit–ódošGcument“b˜eschrijft“de“pš¸čraktische“basis“van“PC-klasse“computers,‘{op“Unix“lijk˜ende“bGesturingssystemen,‘{enŽĄhet–U Internet“in“een“niet-technische“taal.ŽŸ(Ŕœó&Lt$ffffecbx1440žInhoudsopga•cv“eŽ¤Řó]fŒ ecbx1000ż1Ž‘˙InŽ>troQÂductie’ˆ}82ŽŽŠŘź‘˙š1.1Ž‘)RÁDošGel–U v‘˙qĐan“dit“do˜cumen¸čt‘ ‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wď2ŽŽĄż2Ž‘˙W‘˙ şat–Őis“nieuŽ>w’h2ŽŽŚ‘˙š2.1Ž‘%ýĄGerelateerde‘U bronnen2ý‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wď2ŽŽŚ‘˙2.2Ž‘%ýĄNieu•¸čw“e›U v“ersies˜v‘˙qĐan˜dit˜doGcumen“t‘83‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wď3ŽŽŚ‘˙2.3Ž‘%ýĄF‘˙*¸eedbac¸čk–U en“correcties‘ýł‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wď3ŽŽĄż3Ž‘˙Basis–Őanatomie“v‘˙\|an“je“computer’ńD3ŽŽĄ4Ž‘˙W‘˙ şat–ŐgebQÂeurt“er“als“je“een“computer“aanzet?’ä ł4ŽŽĄ5Ž‘˙W‘˙ şat–ŐgebQÂeurt“er“als“je“inlogt?’/ţ×5ŽŽĄ6Ž‘˙W‘˙ şat–ŐgebQÂeurt“er“als“je“programma's“v‘˙\|anŽ>uit“de“shell“draait?’œĽ6ŽŽĄ7Ž‘˙HoQÂe›Őw•Ž>erk“en˜apparaten˜en˜in“terrupts?’5"6ŽŽĄ8Ž‘˙Ho•QÂe›Ődo“et˜mijn˜computer˜v•Ž>ersc“heidene˜dingen˜tegelijk“ertijd?’“Ś7ŽŽĄ9Ž‘˙HošQÂe–Őzorgt“mijn“computer“ervŽ>o˜or“dat“pro˜cessen“elk‘˙\|aar“niet“in“de“wŽ>eg“zitten?‘AÂś8ŽŽĄ10Ž‘˙Ho•QÂe›Őb“ew•Ž>aart˜mijn˜computer˜zak“en˜in˜het˜geheugen?’šm¸9ŽŽŚ‘˙š10.1Ž‘%ýĄGetallen‘ I‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘wď9ŽŽŚ‘˙10.2Ž‘%ýĄT‘˙*¸ek¸čens‘;G‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?10ŽŽĄż11Ž‘˙Ho•QÂe›Őb“ew•Ž>aart˜mijn˜computer˜zak“en˜op˜disk?’ß^Œ10ŽŽŚ‘˙š11.1Ž‘%ýĄLo•¸čw-lev“el–U disk“en“bGestandssysteemstructuur‘šű‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?11ŽŽŚ‘˙11.2Ž‘%ýĄBestandsnamen–U en“directory's‘7Ӎ‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?11ŽŽŚ‘˙11.3Ž‘%ýĄMoun•¸čt‘U pGoin“ts‘.‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?11ŽŽŚ‘˙11.4Ž‘%ýĄHošGe–U een“b˜estand“w¸čordt“opgezo˜c•¸čh“t‘‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?12ŽŽŚ‘˙11.5Ž‘%ýĄEigenaarsc¸čhap–U v‘˙qĐan“een“bšGestand,“p˜ermissies“en“b˜ev¸čeiliging‘fŤ‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?12ŽŽŚ‘˙11.6Ž‘%ýĄHoGe–U het“mis“k‘˙qĐan“gaan‘ŻO‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?15ŽŽŽŽŒ‹* Ű_2 ý ~?Ÿ„€ŐÁGŽż1.‘ń8InŽ>troQÂductie’†YĚš2ŽŽ ՁÁ ýVŻż12Ž‘˙HoQÂe›Őw•Ž>erk“en˜computertalen?’-Öq15ŽŽ¤Řź‘˙š12.1Ž‘%ýĄGecompileerde‘U programmeertalen‘Ři‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?15ŽŽĄ‘˙12.2Ž‘%ýĄGe€ďn¸čterpreteerde‘U talen‘AM‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?16ŽŽĄ‘˙12.3Ž‘%ýĄP-coGde‘U talen|;‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?16ŽŽŸŘż13Ž‘˙HoQÂe–ŐwšŽ>erkt“het“In˜ternet?’@Oô16ŽŽĄ‘˙š13.1Ž‘%ýĄNamen–U en“lok‘˙qĐaties‘g§‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?17ŽŽĄ‘˙13.2Ž‘%ýĄP•¸čac“k“ets–U en“routers‘'Ť‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?17ŽŽĄ‘˙13.3Ž‘%ýĄTCP–U en“IP‘‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?18ŽŽĄ‘˙13.4Ž‘%ýĄHTTP‘˙*¸,–U een“applicatieprotoGcol‘>ߍ‘ü.ŽŽ–Ć荍‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ“‘ü.ŽŽ‘x?18ŽŽŸ(Ŕœž1Ž‘ÁInctropœductieŽŸ荍óĽ!˘N ecbx1200Á1.1Ž‘#=ĚDoš_úel–¸v‘˙@ an“dit“do˜cumen tŽŸMލšDit–] došGcumen¸čt“is“b˜estemd“om“Linš¸čux“en“In˜ternet“gebruik˜ers,›_żdie“al“doGende“leren,˜te“helpGen.‘Š˙Ondanks“dat“ditŽ¤ Žeen–tĂgewš¸čeldige“manier“is“om“spGeciek˜e“v‘˙qĐaardigheden“op“te“doGen,‘|Ťlaat“het“soms“bijzondere“hiaten“in“iemandsŽĄbasiskš¸čennis–ţ)“hiaten“die“het“moGeilijk“kunnen“mak˜en,›(kcreatief“of“eectief“problemen“op“te“lossen,˜doGor“eenŽĄgebrek–U aan“een“duidelijkš¸če“denkwijze“o˜v˜er“w˜at“er“w˜erk˜elijk“aan“de“hand“is.ŽŠŘźIk–sĄzal“probšGeren“in“een“duidelijk•¸če,‘{Been“v“oudige–sĄtaal“te“b˜esc•¸čhrijv“en–sĄho˜e“alles“wš¸čerkt.‘ÍDe“presen˜tatie“zal“w˜ordenŽĄafgestemd–:op“mensen“die“Unix“of“Linš¸čux“op“PC-klasse“hardw˜are“gebruik˜en.‘ŔÍNiettemin“zal“ik“hier“meestalŽĄgewš¸čoGon–Ÿnaar“`Unix'“v˜erwijzen,‘šaangezien“het“meeste“w˜at“ik“hier“zal“bGesc˜hrijv˜en“gelijk“is“v˜oGor“alle“platformenŽĄen–U Unix“v‘˙qĐarian¸čten.ŽŚIk–Š,ga“erv‘˙qĐan“uit“dat“je“een“Inš¸čtel“PC‘‰Ýgebruikt.‘ĽDe“details“v˜ersc˜hillen“een“bGeetje“als“je“met“een“Alpha“ofŽĄP•¸čo“w“erPC–U of“een“andere“Unix“bGoš¸čx“w˜erkt,“maar“de“basisconcepten“zijn“hetzelfde.ŽŚIk–ńĎzal“niets“herhalen,›űdus“je“zult“op“moGeten“letten,˜maar“dat“bšGetek•¸čen“t–ńĎo˜ok,‘űdat“je“v‘˙qĐan“ieder“w¸čo˜ord“dat“jeŽĄleest,‘ĺ`zult–Épleren.‘BđHet“is“een“gošGed“idee“dit“vluc•¸čh“tig–Épdo˜or“te“nemen“als“je“dit“v¸čo˜or“het“eerst“leest;‘řje“zou“eigenlijkŽĄterug–U moGeten“kš¸čeren“en“het“een“paar“k˜eer“herlezen,“nadat“je“in“je“op“hebt“genomen“w˜at“je“hebt“geleerd.ŽŚDit–ʍis“een“doGcumenš¸čt“dat“geleidelijk“on˜tstaat.‘ŃČHet“is“mijn“b•Gedo“eling–ʍals“reactie“op“feedbac˜k“v‘˙qĐan“gebruik˜ersŽĄsecties–U tošGe“te“v¸čo˜egen,“dus“je“zou“het“p˜erio˜diek“opnieu¸čw“mo˜eten“b˜ekijk¸čen.ŽŸ(Ŕœž2Ž‘ÁW‘ţŽ(at–G\is“nieucwŽŸż:šNieu¸čw–ˇBin“1.2:‘"‘De“sectie“`HošGe“b˜ewš¸čaart“mijn“computer“dingen“in“het“geheugen?'.‘<áNieu˜w“in“1.3:‘"‘De“secties“`W‘˙*¸atŽĄgebšGeurt–müer“als“je“inlogt?'‘źen“`Eigenaarsc¸čhap“v‘˙qĐan“een“b˜estand,‘t3p˜ermissies“en“b˜ev•¸čeiliging'.‘źNieu“w–müin“1.4:‘Ł9W‘˙*¸atŽĄpreciezer–Ÿ:gewš¸čeest“in“w˜at“de“k˜ernel“doGet“vs.‘OÎw˜at“init“doGet.‘OÎNieu˜w“in“1.7:‘´De“sectie“o˜v˜er“b•Gestandsp“ermissiesŽĄgecorrigeerd–U en“uitgebreid.ŽŚAndere–U v¸čersies“bšGestonden“uit“het“corrigeren“v‘˙qĐan“sp˜elfouten“en“kleine“redactionele“wijzigingen.ŽŸ#͍Á2.1Ž‘žGerelateerde‘¸bronnenŽŸMލšAls–Můje“dit“aan“het“lezen“bGenš¸čt,‘Œ/om“te“leren“hac˜k˜en,‘Œ/zou“je“oGok“de“ó˝HЃ ecti1000ÂHo–˙}/e›x W‘˙;Čor“dt˜je˜e“en˜Hacker˜F‘ţú_Až˜Q‘MšóqLË ectt1000Ö;…šmoGeten“lezen.‘˘Er“staan“een“aan¸čtal“links“in“naar“andereŽŽŽŒ‹ Ű_2 ý ~?Ÿ„€ŐÁGŽż3.‘ń8Basis–Őanatomie“v‘˙\|an“je“computer’ÍŘš3ŽŽ ՁÁ ýVŻn¸čuttige‘U bronnen.ŽŠ#͍Á2.2Ž‘žNieu• w“e›¸v“ersies˜v‘˙@ an˜dit˜do_úcumen“tŽŸMލšNieu•¸čw“e›‘ëv“ersies˜v‘˙qĐan˜de˜Unix˜en˜In“ternet˜F‘˙*¸undamen“tals˜HO“WTO‘‘Wzullen˜p•Gerio“diek˜w¸čorden˜gep“ost˜naarŽ¤ ŽÂc›˙}/omp.os.linux.help–‚šen“Ânews:c˜omp.os.linux.announc˜e“šen“Ânews.answersš.‘ ľ¨Ze“zullen“oGok“naar“divš¸čerse“Lin˜uxŽĄWWW-–U en“FTP-sites“wš¸čorden“ge-upload,“w˜aaronder“de“homepage“v‘˙qĐan“de“LDP‘˙*¸.ŽŸŘźJe–!kunš¸čt“de“laatste“v˜ersie“hierv‘˙qĐan“bGekijk˜en“op“het“W›˙*¸orld“Wide“W˜eb“via“de“URL‘3ÜĂš.ŽŚÁ2.3Ž‘žF‘ţŕeedbac k–¸en“correctiesŽŸMލšAls–Uje“vragen“of“commenš¸čtaar“o˜v˜er“dit“doGcumen˜t“hebt,‘}âmail“dan“alsjeblieft“naar“Eric“S.“Ra˜ymond,‘}âviaŽĄÂesr@thyrsus.c‘˙}/omš.‘żIk›ÄTv•¸čerw“elk“om˜alle˜suggesties˜of˜kritiek.‘żIk˜v“erw“elk“om˜v“oGoral˜h“ypGerlinks˜naar˜meer˜gede-ŽĄtailleerde–;yuitleg“o•¸čv“er–;yindividuele“concepten.‘$‹Als“je“een“fout“in“dit“doGcumenš¸čt“tegenk˜om˜t,‘ulaat“me“dit“danŽĄalsjeblieft–U wš¸četen,“zoGdat“ik“dit“in“de“v˜olgende“v˜ersie“k‘˙qĐan“corrigeren.‘q€Bedankt.ŽŸ(Ŕœž3Ž‘ÁBasis–G\anatomie“v‘˙Ćan“je“computerŽŸż:šJe–ôVcomputer“heeft“binnenin“een“proGcessorcš¸čhip“die“het“w˜erk˜elijk˜e“w˜erk“v˜erric˜h˜t.‘O!Het“heeft“in˜tern“geheugenŽĄ(w•¸čat›káDOS/Windo“ws˜mensen˜RAM‘@áno•Gemen˜en˜Unix˜mensen˜v‘˙qĐaak˜core‘A)no“emen.‘ľĂDe˜pro“cessor˜en˜hetŽĄgeheugen–U bGevinden“zic¸čh“op“het“Âmo–˙}/e“derb“or“d‘wš,–U het“hart“v‘˙qĐan“je“computer.ŽŠŘźJe–ycomputer“heeft“een“scš¸čherm“en“to•Getsen˜b“ord.‘‹ŠHet–yheeft“harddisks“en“disk˜ettestations.‘‹ŠHet“sc˜herm“en“jeŽĄdisks–ŚhebbšGen“Âc–˙}/ontr“ol‘‚Đlerkaarten‘jjšdie–Śin“het“mo˜ederb˜ord“w¸čorden“geplugd“en“de“computer“help˜en“deze“apparatenŽĄdie–Ízic¸čh“niet“direct“op“het“mo•Gederb“ord›Íb“evinden˜te˜b“esturen.‘D"(Je˜to“etsen¸čb“ord˜is˜te˜een•¸čv“oudig˜v“oGor˜een˜aparteŽĄk‘˙qĐaart;–U de“conš¸čtroller“is“in“de“to•Getsen˜b“ordom˜b“ou˜w–U zelf“ingebGou˜wd.)ŽŚW‘˙*¸e–sÇzullen“later“op“een“aanš¸čtal“details“ingaan“o˜v˜er“hoGe“deze“apparaten“w˜erk˜en.‘ÍuV‘˙*¸oGor“n˜u,‘{qzijn“hier“een“aan˜talŽĄbasiszakš¸čen–U om“in“gedac˜h˜ten“te“houden“hoGe“ze“samen˜w˜erk˜en:ŽŚAlle–l,ingebGouš¸čwde“delen“v‘˙qĐan“je“computer“zijn“v˜erbGonden“via“een“Âbus‘Ňš.‘ś¤F‘˙*¸ysiek“is“de“bus“datgene“w˜aarin“jeŽĄje–ÉŻcon¸čtrollerk›˙qĐaarten“plugt“(de“videok˜aart,›ćÓde“disk•¸čcon“troller,˜een–ÉŻgeluidsk‘˙qĐaart“als“je“die“hebt).‘Ď-De“bus“is“deŽĄgegev•¸čenssnelw“eg–U tussen“je“proGcessor,“je“sc¸čherm,“je“disk,“en“al“het“andere.ŽŚDe–=ŒprošGcessor,‘BCdie“erv¸čo˜or“zorgt“dat“al“het“andere“aan“de“gang“helpt,‘BCk›˙qĐan“in“w•¸čerk“elijkheid–=Œgeen“v˜an“de“andereŽĄdelen–óődirect“zien;‘C_het“moGet“met“hen“via“de“bus“commš¸čuniceren.‘MţHet“enige“andere“subsysteem“w˜aartoGe“hetŽĄonmiddellijk¸če–ŐtoGegang“heeft,›Ais“geheugen“(de“core).‘§ŸOm“programma's“te“laten“draaien,˜moGeten“ze“zic¸čh“ÂinŽĄc–˙}/or“e‘oš(in–U het“geheugen)“bGevinden.ŽŚW‘˙*¸at–tAer“in“w•¸čerk“elijkheid–tAgebGeurt,›Ą:als“je“computer“een“programma“of“gegev¸čens“v‘˙qĐan“disk“leest,˜is“dat“de“proGcessorŽĄde–¨>bus“gebruikt“om“een“diskleesvš¸čerzoGek“naar“je“disk˜con˜troller“te“zenden.‘7ŕW‘˙*¸at“later,‘ĘŃgebruikt“de“disk˜con˜trollerŽĄde–ôbus“om“de“computer“het“sein“te“gevš¸čen“dat“het“de“gegev˜ens“heeft“ingelezen“en“het“in“een“bGepaald“gebiedŽĄin–U het“geheugen“heeft“gezet.‘q€De“prošGcessor“k‘˙qĐan“dan“de“bus“gebruik¸čen“o˜ok“naar“dat“geheugen“te“kijk¸čen.ŽŚJe›-Ťto•Getsen¸čb“ord˜en˜sc•¸čherm˜comm“uniceren˜o•Gok˜via˜de˜bus˜met˜de˜pro“cessor,‘5maar˜op˜een˜een•¸čv“oudiger˜manier.ŽĄW›˙*¸e–Vězullen“deze“later“b•Gesprek¸čen.‘väV˜o“or–Věnš¸ču“w˜eet“je“v˜oldošGende“om“te“kunnen“b˜egrijp˜en“w¸čat“er“geb˜eurt“als“je“jeŽĄcomputer‘U aanzet.ŽŽŽŒ‹2ΠŰ_2 ý ~?Ÿ„€ŐÁGŽż4.‘ń8W‘˙ şat–ŐgebQÂeurt“er“als“je“een“computer“aanzet?’áçGš4ŽŽ ՁÁ ýVŻž4Ž‘ÁW‘ţŽ(at–G\gebpœeurt“er“als“je“een“computer“aanzet?ŽŸż:šEen–Äńcomputer“zonder“een“draaiend“programma“is“gew•¸čoGon“w“eg–Äńeen“logge“homp“elektronica.‘AqHet“eerste“w¸čat“eenŽ¤ Žcomputer–>×mošGet“do˜en“als“het“w¸čordt“aangezet“is“een“sp˜eciaal“programma“opstarten“dat“een“Âb–˙}/esturingssyste“emŽĄšw¸čordt–˙~genošGemd.‘pšDe“taak“v‘˙qĐan“het“b˜esturingssysteem“is“te“help˜en“bij“het“aan“het“w¸čerk“krijgen“v‘˙qĐan“andereŽĄcomputerprogramma's–_#došGor“de“lastige“details“met“b˜etrekking“tot“het“b˜esturen“v‘˙qĐan“de“computerhardw¸čare“afŽĄte‘U handelen.ŽŠŘźHet–ÝćprošGces“om“het“b˜esturingssysteem“aan“de“gang“te“krijgen“w¸čordt“Âb–˙}/o“oten‘˘;šgeno˜emd.‘ Ó(v‘˙qĐan–Ýćorigine“w¸čas“ditŽĄÂb–˙}/o“otstr“apping‘9Qšen–VăzinsspšGeelde“op“de“mo˜eilijkheid“om“jezelf“aan“je“laarzen‘,+op“te“trekkš¸čen).‘vĘJe“computer“w˜eetŽĄhošGe–ˇhet“mo˜et“b˜o˜oten“omdat“de“instructies“v¸čo˜or“het“b˜o˜oten“in“€é€én“v‘˙qĐan“z'n“c¸čhips“zijn“ingeb˜ou¸čwd,‘"fde“BIOS‘§(ofŽĄBasic–U Input/Output“System)“c¸čhip.ŽŚDe–8ŸBIOS‘8ecš¸čhip“v˜ertelt“het“op“een“v‘˙qĐaste“plaats“op“de“laagst-gen˜ummerde“harddisk“(de“Âb–˙}/o“otdisk‘}š)–8Ÿte“zoGek˜enŽĄnaar–ďeen“spšGeciaal“programma“dat“een“Âb–˙}/o“otlo“ader‘šw¸čordt–ďgeno˜emd“(onder“Linš¸čux“w˜ordt“de“b•Go“otloader‘ďLILOŽĄgeno•Gemd).‘dţDe›/šb“o“otloader˜w¸čordt˜in˜het˜geheugen˜geladen˜en˜gestart.‘dţDe˜taak˜v‘˙qĐan˜de˜b“o“otloader˜is˜het˜ec•¸čh“teŽĄbGesturingssysteem–U op“te“starten.ŽŚDe–ĽFloader“došGet“dit“do˜or“naar“een“Âkernel‘­˝šte“zo˜ek¸čen,‘šOdeze“in“het“geheugen“te“laden“en“het“te“starten.‘aňAls“jeŽĄLinš¸čux–ç3opstart“en“je“ziet“op“het“sc˜herm“"LILO"gev˜olgd“došGor“een“gro˜ep“punš¸čten,‘ý/is“het“de“k˜ernel“aan“het“laden.ŽĄ(Iedere–U punš¸čt“bGetek˜en˜t“dat“het“een“ander“Âdiskblok‘hšv‘˙qĐan“de“k˜ernelcoGde“heeft“geladen.)ŽŚ(Het–óŁzou“kunnen“dat“je“je“afvraagt“wš¸čaarom“de“BIOS‘ózde“k˜ernel“niet“direct“laadt““w˜aarom“het“t˜w˜ee-stapsŽĄprošGces–6amet“de“b˜o˜otloader?›DDit“k•¸čom“t–6aomdat“de“BIOS‘6'niet“erg“slim“is.˜In“feite“is“het“erg“dom,‘nąen“Lin¸čuxŽĄgebruikt–38het“in“het“geheel“niet“na“het“opstarten.‘ ÇHet“wš¸čerd“v‘˙qĐan“origine“gesc˜hrev˜en“v˜oGor“primitiev˜e“8-bitsŽĄPC's–'7met“hele“kleine“disks,‘[˝en“het“k‘˙qĐan“letterlijk“niet“v¸čoldošGende“to˜egang“tot“de“disk“krijgen“om“de“k¸černelŽĄdirect–ÜWte“kunnen“laden.‘&De“b•Go“otloader-stap–ÜWlaat“je“ošGok“€é€én“v‘˙qĐan“de“v•¸čersc“heidene–ÜWb˜esturingssystemen“v‘˙qĐanafŽĄv•¸čersc“hillende–/Splaatsen“v›˙qĐan“de“disk“opstarten,‘6ă(in“het“on•¸čw“aarsc“hijnlijk“e–/Sgev˜al“dat“Unix“niet“gošGed“geno˜eg“v¸čo˜orŽĄje‘U is.)ŽŚZošGdra–"tde“k¸černel“opstart,‘UĘmo˜et“het“om“zic¸čh“heenzo˜ekš¸čen“om“de“rest“v‘˙qĐan“de“hardw˜are“te“vinden,‘UĘen“zorgenŽĄdat–NGhet“gereed“is“om“programma's“te“draaien.‘o8Het“došGet“dit“niet“do˜or“rond“te“snš¸čuelen“in“gew˜one“geheugen-ŽĄlok‘˙qĐaties–Řâmaar“eerder“via“ÂI/O‘ Čp–˙}/o“orten‘7š–ŘâspGeciale“bus“adressen“wš¸čaar“zic˜h“naar“alle“w˜aarsc˜hijnlijkheid“deviceŽĄconš¸čtrollerk‘˙qĐaarten–˝Rkunnen“bGevinden“die“luisteren“in“afw˜ac˜h˜ting“v‘˙qĐan“commando's.‘ŞDe“k˜ernel“sn˜uelt“nietŽĄwillekš¸čeurig–Ž¤rond;‘Űfhet“heeft“een“heleb•Go“el‘Ž¤ingeb“ou˜wde–Ž¤k˜ennis“o˜v˜er“w˜at“het“v˜ermoGedelijk“w˜aar“k‘˙qĐan“vinden,‘ĹenŽĄhoGe–U conš¸čtrollers“zullen“reageren“als“ze“aan˜w˜ezig“zijn.‘q€Dit“proGces“w˜ordt“Âautopr‘˙}/obing‘7ŽšgenoGemd.ŽŚDe–ŇSmeeste“meldingen“die“je“tijdens“het“b•Go“oten–ŇSziet,‘ě|kš¸čomen“v˜ošGort“uit“het“autoprobing-pro˜ces“v‘˙qĐan“de“hardw¸čareŽĄvia–¸ďde“I/O‘¸Çp•Go“orten,›Ř,do“or–¸ďde“k•¸černel,˜uitzoGek“end›¸ďw“at˜er˜bGesc“hikbaar˜is˜en˜het˜zic“hzelf˜aanpast˜aan˜je˜computer,ŽĄbšGeter–˜7dan“de“meeste“andere“Unixes“en“Âve‘˙}/el‘ Žšb˜eter“dan“DOS‘˜of“Windoš¸čws.‘2ˆIn“feite,‘ždenk˜en“v˜ele“Lin˜ux“gebruik˜ersŽĄv›˙qĐan–ş*de“oude“stempGel“dat“de“slimheid“v˜an“Linš¸čux's“onderzoGek˜en“tijdens“de“systeemstart“(w˜at“het“relatiefŽĄgemakkš¸čelijk–~maakt“om“het“te“installeren)“een“bGelangrijk˜e“reden“w˜as“v˜ošGor“de“do˜orbraak“v‘˙qĐan“de“vrije-UnixŽĄexp•Gerimen¸čten›U do“or˜een˜kritisc•¸čhe˜massa˜gebruik“ers˜aan˜te˜trekk“en.ŽŚMaar–ýDde“kš¸černel“v˜olledig“geladen“en“draaiend“krijgen“is“niet“het“einde“v‘˙qĐan“het“b•Go“otpro“ces;‘het–ýDis“pas“de“eersteŽĄfase–˘9(soms“Ârun–ďlevel“1‘ý)šgenoGemd).‘5ŢNa–˘9deze“eerste“fase,‘Ćgeeft“de“kš¸černel“de“con˜trole“o˜v˜er“aan“een“spšGeciaal“pro˜ces,ŽĄgenaamd–U `init',“w•¸čelk“e›U v“ersc“heidene˜bGeheertak“en˜v“erric“h“t.ŽŚDe–o#eerste“taak“v‘˙qĐan“het“init-proGces“is“meestal“een“conš¸čtrole“om“er“zek˜er“v‘˙qĐan“te“zijn“dat“je“disks“OK‘nÚzijn.ŽĄDisk–Ź.bšGestandssystemen“zijn“kw¸četsbaar;‘׾als“ze“do˜or“een“hardw¸čare-asco“of“een“plotselinge“stro˜om¸čuitv‘˙qĐal“zijnŽĄbšGesc¸čhadigd,‘mČzijn–hŮer“go˜ede“redenen“om“herstelstapp˜en“te“ondernemen“v¸čo˜ordat“je“Unix“w¸čeer“helemaal“in“ordeŽĄis.‘B´W‘˙*¸e–đ1zullen“later“op“enkš¸čele“v‘˙qĐan“deze“details“ingaan,‘öals“w˜e“het“gaan“hebbGen“o˜v˜er“11.6“(hoGe“het“mis“k‘˙qĐanŽĄgaan–U met“bGestandssystemen).ŽŚDe–d2v¸čolgende“stap“v›˙qĐan“init“is“het“opstarten“v˜an“v•¸čersc“heidene–d2Âdaemons‘Ňš.‘žˇEen“daemon“is“een“programma“zoalsŽĄeen–lĺprinš¸čt“sp•Go“oler,‘˛Öeen–lĺmail“listener“of“een“WWW-serv˜er“die“zic˜h“in“de“ac˜h˜tergrond“v˜ersc˜holen“houdt,‘˛ÖinŽŽŽŒ‹BŠ Ű_2 ý ~?Ÿ„€ŐÁGŽż5.‘ń8W‘˙ şat–ŐgebQÂeurt“er“als“je“inlogt?’-Űkš5ŽŽ ՁÁ ýVŻafw•¸čac“h“ting–N\om“iets“te“došGen.‘o?Deze“sp˜eciale“programma's“mo˜eten“v‘˙qĐaak“v•¸čersc“heidene‘N\v“erzo˜ek“en–N\die“met“elk‘˙qĐaarŽ¤ Žin–Á7conict“kunnen“rak¸čen,›ŢĚcoG€ördineren.‘@3Er“zijn“daemons,˜omdat“het“v‘˙qĐaak“makk•¸čelijk“er–Á7is“om“een“programma“teŽĄsc•¸čhrijv“en–dat“con•¸čtin“ue–draait“en“bGekš¸čend“is“met“alle“v˜erzoGek˜en“dan“het“zou“zijn“om“te“probGeren“te“v˜oGork˜omenŽĄdat–•?een“scš¸čhare“k˜opie€én“(w˜aarbij“ieder“een“v˜erzoGek“v˜erw˜erkt“en“ze“allen“tegelijk˜ertijd“draaien)“elk‘˙qĐaar“niet“inŽĄde–î%wš¸čeg“zitten.‘O-De“bGepaalde“v˜erzameling“daemons“die“je“systeem“start“k›˙qĐan“v˜ari€ëren,‘žmaar“hier“zal“bijna“altijdŽĄeen–U prinš¸čt“sp•Go“oler–U bij“zijn“(een“pGortier“daemon“v˜oGor“je“prin˜ter).ŽŠŘźZošGdra–Š?alle“daemons“zijn“gestart,‘žGb˜evinden“wš¸če“ons“op“Ârun–álevel“2‘Zđš.‘mÝDe–Š?v˜olgende“stap“is“de“v˜o•Gorb“ereiding‘Š?opŽĄgebruikš¸čers.‘SŽInit–űŤstart“een“k˜opie“v‘˙qĐan“een“programma“met“de“naam“Ăgetty“šom“je“console“in“de“gaten“te“houdenŽĄ(en–cvmisscš¸čhien“meer“k˜opie€ën“om“dial-in“seri€ële“p•Go“orten–cvin“de“gaten“te“houden).‘œDit“programma“zorgt“dat“deŽĄĂloginš-prompt–5op“je“console“te“v•¸čoGorsc“hijn›5k“om“t.‘˘žW‘˙*¸e˜zijn˜n“u˜op˜Ârun–?Ílevel“3‘k%šen˜gereed˜om˜in˜te˜loggen˜enŽĄprogramma's–U te“draaien.ŽŸ(Ŕœž5Ž‘ÁW‘ţŽ(at–G\gebpœeurt“er“als“je“inlogt?ŽŸż:šAls–óäje“inlogt“(een“naam“en“w•¸čac“h“t“w“oGord–óägeeft)“iden¸čticeer“je“jezelf“aan“Ăgetty“šen“de“computer.‘MÍHet“draaitŽĄv•¸červ“olgens–•¤een“programma“met“de“naam“(natuurlijk“genoGeg)“Ăloginš,‘ťđw•¸čelk“e›•¤con“troleert˜of˜je˜geautoriseerd˜bGen“tŽĄom–;Öde“computer“te“gaan“gebruikš¸čen.‘iAls“dat“niet“zo“is,‘@ĺzal“je“pGoging“om“in“te“loggen“w˜orden“v˜erw˜orpGen.‘iAlsŽĄhet–˜Ôwš¸čel“zo“is,‘ž}zal“login“een“aan˜tal“h˜uishoudelijk˜e“zak˜en“v˜erric˜h˜ten“en“v˜erv˜olgens“een“commando-in˜terpreter,‘ž}deŽĄÂshel‘‚Đl‘wš,–÷Ąopstarten.›J‹(Ja,“Ăgetty–ŕAšen“Ălogin“šzouden“€é€én“programma“kunnen“zijn.˜Ze“zijn“gescš¸čheiden“om“historisc˜heŽĄredenen–U wš¸čaarv‘˙qĐan“het“niet“w˜aard“is“ze“hier“te“v˜ermelden).ŽŚBij–#ďdeze“wš¸čat“meer“o˜v˜er“w˜at“het“systeem“do•Get,‘-Ćv˜o“ordat–#ďhet“je“een“shell“presen˜teert;‘4Uje“zal“het“v˜ošGor“het“b˜egripŽĄlater– łnošGdig“hebb˜en,‘S—wš¸čanneer“w˜e“het“gaan“hebbGen“o˜v˜er“b•Gestandsp“ermissies.‘Ô8Je– łiden˜ticeert“jezelf“met“eenŽĄloginnaam–P~en“een“w•¸čac“h“t“w“ošGord.‘oőDe–P~loginnaam“w¸čordt“opgezo˜c•¸čh“t–P~in“een“b˜estand“met“de“naam“/etc/passw¸čord,ŽĄw•¸čelk“e–U bGestaat“uit“een“reeks“regels,“wš¸čaarv‘˙qĐan“ieder“een“gebruik˜ersaccoun˜t“bGesc˜hrijft.ŽŚ€É€én–áv‘˙qĐan“deze“vš¸čelden“is“een“v˜ersleutelde“v˜ersie“v‘˙qĐan“het“accoun˜t-w˜ac˜h˜t˜w˜oGord.‘÷ĂDatgene“w˜at“je“in˜v˜oGert“als“eenŽĄaccoun•¸čt-w“ac“h“t“w“oGord›¸Œw“ordt˜op˜exact˜dezelfde˜wijze˜v“ersleuteld,‘Ńgen˜het˜Ăloginš-programma˜con“troleert˜of˜dieŽĄt•¸čw“ee›.o“v“ereenk“omen.‘ülT‘˙*¸erwijl˜de˜con“v“ersie˜v‘˙qĐan˜de˜ingetikte˜v“ersie˜naar˜de˜v“ersleutelde˜v“ersie˜een“v“oudig˜is,ŽĄhangt–Ëćde“bšGev¸čeiliging“v‘˙qĐan“deze“metho˜de“af“v‘˙qĐan“het“feit,‘é˜of“het“erg“mo˜eilijk“is“om“dit“pro˜ces“om“te“draaien.ŽĄDus–roGok“al“k‘˙qĐan“iemand“de“vš¸čersleutelde“v˜ersie“v‘˙qĐan“je“w˜ac˜h˜t˜w˜oGord“zien,‘yYze“kunnen“je“accoun˜t“niet“gebruik˜en.ŽĄ(Als–œje“je“w•¸čac“h“t“w“ošGord‘œv“ergeet,‘Žib˜etek“en“t–œdit“b˜o•¸čv“endien–œdat“er“geen“manier“is“wš¸čaarop“je“het“kun˜t“herstellen,ŽĄje–U hebt“alleen“de“mogelijkheid“een“ander“w•¸čac“h“t“w“oGord–U te“kiezen).ŽŚZošGdra–œ\je“succesv¸čol“b˜en¸čt“ingelogd,›Ž+krijg“je“alle“privileges,˜w•¸čelk“e–œ\met“die“individuele“accounš¸čt“zijn“v˜erbGonden.ŽĄMissc¸čhien–˜4dat“je“ošGok“als“onderdeel“v‘˙qĐan“een“Âgr‘˙}/oup‘9š(gro˜ep)“wš¸čordt“herk˜end.‘2‡Een“grošGep“is“een“do˜or“de“systeem¸čb˜e-ŽĄheerder–%Řbij“naam“genoGemde“vš¸čerzameling“gebruik˜ers.‘ažEen“grošGep“k‘˙qĐan“privileges“hebb˜en,‘/Mdie“onafhank¸čelijk“zijnŽĄv›˙qĐan–G\de“privileges“v˜an“de“leden“v˜an“die“groGep.‘léEen“gebruik¸čer“k˜an“onderdeel“uitmak¸čen“v˜an“meerdere“gro•Gep“en.ŽĄ(zie–U de“sectie“hieronder“o•¸čv“er–U 11.5“(),“vš¸čoGor“details“o˜v˜er“hoGe“Unix-privileges“w˜erk˜en).ŽŚ(No•Got:‘¤alho“ewš¸čel–îcje“normaal“gesprok˜en“naar“gebruik˜ers“en“gro•Gep“en–îcbij“naam“refereert,‘łw˜orden“ze“in˜tern“inŽĄw•¸čerk“elijkheid–ŰXals“n•¸čumeriek“e–ŰXID's“opgeslagen.‘)Het“w•¸čac“h“t“w“o•Gordb“estand–ŰXdeelt“je“gebruik¸čersnaam“in“naar“eenŽĄgebruik¸čers-ID;–Ź?het“Ă/etc/group“šbšGestand“deelt“de“gro˜epsnamen“in“naar“n•¸čumeriek“e‘Ź?gro˜ep-ID's.‘vŢCommando'sŽĄdie–U te“makš¸čen“hebbGen“met“accoun˜ts“en“gro•Gep“en–U zorgen“automatisc˜h“v˜oGor“de“v˜ertaling.ŽŚHet–˝mrecord“v›˙qĐan“je“accoun¸čt“bGev˜at“ošGok“je“Âhome-dir–˙}/e“ctory‘ânš,‘€de–˝mplaats“in“het“Unix-b˜estandssysteem“w¸čaar“jeŽĄp•Gerso“onlijk¸če›%Ąb“estanden˜vš¸čo“ork˜omen.‘aŤT‘˙*¸enslotte,‘/ stelt–%Ąhet“record“v‘˙qĐan“je“accoun˜t“oGok“je“Âshel‘‚Đl‘.šin,‘/ de“commando-ŽĄinš¸čterpreter–U dat“doGor“Ălogin“šzal“w˜orden“opgestart,“om“je“commando's“te“accepteren.ŽŽŽŒ‹X2 Ű_2 ý ~?Ÿ„€ŐÁGŽż6.‘ń8W‘˙ şat–ŐgebQÂeurt“er“als“je“programma's“v‘˙\|anŽ>uit“de“shell“draait?’š‚$š6ŽŽ ՁÁ ýVŻž6Ž‘ÁW‘ţŽ(at–G\gebpœeurt“er“als“je“programma's“v‘˙Ćancuit“de“shell“draait?ŽŸż:šDe–îhshell“is“de“inš¸čterpreter“v˜oGor“de“Unix-commando's“die“je“in˜tikt;‘; het“w˜ordt“een“shell“genoGemd“omdat“hetŽ¤ Žomhš¸čulsel–Í'is“v‘˙qĐan“de“k˜ernel“en“het“de“k˜ernel“v˜erbGergt.‘ٕDe“normale“shell“geeft“je“de“'$'“prompt“die“je“na“hetŽĄinloggen–Œziet“(tenzij“je“het“hebt“aangepast“om“iets“anders“te“doGen).‘]OW‘˙*¸e“zullen“het“hier“niet“o•¸čv“er‘Œshell-syn“taxŽĄhebbGen–Ąen“de“makk•¸čelijk“e›Ązak“en˜die˜je˜op˜het˜sc“herm˜kun“t˜zien;‘Ç in˜plaats˜daarv‘˙qĐan˜zullen˜w“e˜een˜blik˜ac“h“terŽĄde–U scš¸čhermen“w˜erpGen“o˜v˜er“w˜at“er“v‘˙qĐan˜uit“het“gezic˜h˜tspun˜t“v‘˙qĐan“de“computer“gebGeurt.ŽŠŘźNa–š\het“b•Go“oten–š\en“vš¸čoGordat“je“een“programma“draait,‘Ňlkun“je“aan“je“computer“denk˜en“als“een“dieren˜tuin“v˜olŽĄmet– prošGcessen“die“allen“w•¸čac“h“ten– om“iets“te“kunnen“do˜en.›V+Ze“w•¸čac“h“ten– allemaal“op“Âevents‘Ňš.˜Een“ev•¸čen“t– k‘˙qĐan“zijnŽĄdat–řÔje“een“tošGets“indrukt“of“een“m¸čuis“b˜ewš¸čeegt.‘\œOf“een“ev˜en˜t“k‘˙qĐan“een“datapakk˜et“zijn,‘!Ádat“via“het“net˜w˜erkŽĄbinnenk•¸čom“t,–U als“je“computer“op“een“net•¸čw“erk–U is“aangesloten.ŽŚDe–ź‡k¸černel“is“€é€én“v‘˙qĐan“deze“prošGcessen.‘>ŁHet“is“een“sp˜eciale,‘Ű omdat“het“b˜epaalt“w¸čanneer“de“andere“Âgebruikerspr‘˙}/o-ŽĄc‘˙}/essen‘p˝škunnen–Źhdraaien,‘Â:en“het“is“normaal“gesprok¸čen“het“enige“prošGces“met“directe“to˜egang“tot“de“hardw¸čareŽĄv‘˙qĐan–6‡de“computer.‘gMIn“feite“mošGeten“gebruik¸čerspro˜cessen“een“v¸čerzo˜ek“indienen“aan“de“k¸černel“als“ze“to˜etsen¸čb˜or-ŽĄdin•¸čv“oGer–willen“ophalen,‘3—naar“je“scš¸čherm“willen“sc˜hrijv˜en,‘3—v‘˙qĐan“of“naar“disk“willen“sc˜hrijv˜en,‘3—of“gew˜oGon“allesŽĄwillen–U doGen“anders“dan“in“het“geheugen“vš¸čermalen“v‘˙qĐan“bits.‘q€Deze“v˜erzoGek˜en“staan“bGek˜end“als“Âsystem‘“°c‘˙}/al‘‚Đls‘Ňš.ŽŚNormaal–đMgesprokš¸čen“gaat“alle“I/O‘ďăvia“de“k˜ernel“dus“het“k‘˙qĐan“de“bGew˜erkingen“regelen“en“v˜oGork˜omen“datŽĄprošGcessen–Ýelk‘˙qĐaar“in“de“w¸čeg“zitten.‘ѸV‘˙*¸an“een“paar“sp˜eciale“gebruik¸čerspro˜cessen“is“het“to˜egestaan“dat“ze“deŽĄkš¸černel–ongemerkt“v˜o•Gorbijgaan,‘Bgew˜o“onlijk›do“ordat˜er˜directe˜to“egang˜tot˜I/O‘Ôp“o“orten˜w•¸čordt˜gegev“en.‘Ť0X-ŽĄservš¸čers–˝ż(de“programma's“die“op“de“meeste“Unix“bGo˜xen“grasc˜he“sc˜herm˜v˜erzoGek˜en“v‘˙qĐan“andere“programma'sŽĄafhandelen)–đzijn“hier“het“meest“algemene“vš¸čo•Gorb“eeld–đv‘˙qĐan.‘^Maar“w˜e“zijn“nog“niet“bij“de“X‘áserv˜er“aangek˜omen;ŽĄje–U kijkt“naar“een“shell-prompt“op“een“c¸čharacter“console.ŽŚDe–DTshell“is“gewš¸čoGon“een“gebruik˜ersprošGces,‘zăen“niet“een“bijzonder“sp˜eciaal“pro˜ces.‘’Het“w•¸čac“h“t–DTop“je“to˜etsaanslagen,ŽĄluistert–É˙(via“de“kš¸černel)“naar“de“to•Getsen˜b“ord›É˙I/O‘Éáp“o“ort.‘ĐAls˜de˜k•¸černel˜ze˜ziet,‘ç6ec“hoGot˜hij˜ze˜naar˜je˜sc“hermŽĄen–PWgeeft“ze“v•¸červ“olgens–PWdoGor“aan“de“shell.‘očAls“de“kš¸černel“een“`En˜ter'“ziet“geeft“het“een“regel“tekst“doGor“aan“deŽĄshell.‘q€De–U shell“probšGeert“deze“to˜etsaanslagen“als“commando's“te“in¸čterpreteren.ŽŚLaten–âŕwš¸če“erv‘˙qĐan“uitgaan“dat“je“`ls'“en“En˜ter“in˜tikt“om“de“Unix“directorylijst“aan“te“ro•Gep“en.‘KkDe–âŕshell“v˜olgt“zijnŽĄinš¸čterne–™çregels“om“er“ac˜h˜ter“te“k˜omen“dat“je“het“uitv˜ošGerbare“commando“in“het“b˜estand“`/bin/ls'“wilt“uitv¸čo˜eren.ŽĄHet–EMgenereert“een“system“call“doGor“de“kš¸černel“/bin/ls“als“een“nieu˜w“Âkind‘MÄšprošGces“op“te“starten“en“het“to˜egangŽĄte–›gevš¸čen“tot“het“sc˜herm“en“to•Getsen˜b“ord–›via“de“k˜ernel.‘ClV‘˙*¸erv˜olgens“gaat“de“shell“slapGen,‘Ź˜in“afw˜ac˜h˜ting“tot“lsŽĄis‘U bGe€ëindigd.ŽŚAls–/ĺ/bin/ls“klaar“is,‘7Wvš¸čertelt“het“de“k˜ernel“dat“het“klaar“is“došGor“een“Âexit‘"Žšsystem“call“aan“te“ro˜ep˜en.‘eDe“k¸černelŽĄsc•¸čh“udt›~v“erv“olgens˜de˜shell˜w“akk“er˜en˜v“ertelt˜het˜dat˜het˜v“erder˜k‘˙qĐan˜gaan˜met˜de˜uitv“o•Gering.‘ěwDe˜shell˜ro“eptŽĄeen–U andere“prompt“aan“en“w•¸čac“h“t–U op“een“andere“regel“in•¸čv“oGer.ŽŚEr–ĚYkunnen“zicš¸čh“ec˜h˜ter“andere“dingen“afspGelen“als“`ls'“w˜ordt“uitgev˜oGerd,‘ç´(w˜e“moGeten“er“v‘˙qĐan“uit“gaan“dat“je“eenŽĄzeer–˜‰lange“directorylijst“laat“w•¸čeergev“en).‘2¤Je–˜‰zou“bijvš¸čo•Gorb“eeld–˜‰naar“een“andere“virtuele“console“kunnen“sc˜hak˜e-ŽĄlen,›“daar–ëăinloggen“en“het“spGel“Quak¸če“opstarten.‘5ČOf,˜vš¸čeronderstel“dat“je“bGen˜t“aangesloten“op“het“In˜ternet,ŽĄdan–U zou“je“computer“mail“kunnen“vš¸čerzenden“of“on˜tv‘˙qĐangen“op“het“momen˜t“dat“/bin/ls“w˜ordt“uitgev˜oGerd.ŽŸ(Ŕœž7Ž‘ÁHopœe›G\w•cerk“en˜apparaten˜en˜in“terrupts?ŽŸż:šJe›ž0to•Getsen¸čb“ord˜is˜een˜zeer˜een•¸čv“oudig˜in“v“ošGerapparaat;‘¸gew“o˜on“w“eg,‘°tomdat–ž0het“zeer“langzaam“kleine“ho˜ev¸čeel-ŽĄheden–ńgegevš¸čens“genereert“(v˜ošGor“computerstandaards).‘E(Als“je“een“to˜ets“indrukt“of“loslaat,‘űwš¸čordt“die“ev˜en˜tŽĄdošGorgeseind–U aan“de“to˜etsen¸čb˜ordk‘˙qĐab˜el“om“een“Âhar–˙}/dwar“e‘“°interrupt‘Géšte–U do˜en“on¸čtstaan.ŽŚHet–ÇTis“de“taak“v‘˙qĐan“het“bGesturingssysteem“om“dergelijkš¸če“in˜terrupts“in“de“gaten“te“houden.‘ČV‘˙*¸oGor“iedereŽĄmogelijkš¸če–žsoGort“in˜terrupt,›Š=zal“er“een“Âinterrupt‘şÇhand‘‚Đler‘“šzijn,˜een“deel“v‘˙qĐan“het“bGesturingssysteem“w•¸čelk“e‘ženigeŽŽŽŒ‹lË Ű_2 ý ~?Ÿ„€ŐÁGŽż8.‘ń8Ho•QÂe›Ődo“et˜mijn˜computer˜v•Ž>ersc“heidene˜dingen˜tegelijk“ertijd?’ő:š7ŽŽ ՁÁ ýVŻgegevš¸čens–´ldie“ermee“zijn“geassoGcieerd“v˜erbšGergt“(zoals“je“to˜etsindruk/to˜etsloslaat“w¸čaarde),‘ ?totdat“het“k‘˙qĐanŽ¤ Žw•¸čorden‘U v“erw“erkt.ŽŠŘźW‘˙*¸at–Oýde“inš¸čterrupt“handler“v˜ošGor“je“to˜etsen¸čb˜ord“eigenlijk“do˜et,‘Qis“de“to˜etsw¸čaarde“in“een“systeemgebied“vlakbijŽĄde–mîonderk›˙qĐan¸čt“v˜an“het“geheugen“pšGosten.‘ťéDaar“zal“het“ter“inzage“b˜esc¸čhikbaar“zijn“als“het“b˜esturingsssysteemŽĄde–eýconš¸čtrole“o˜v˜ergeeft“aan“het“programma,‘Ş5w˜aarv‘˙qĐan“op“dat“momen˜t“v˜erondersteld“w˜ordt“dat“het“v‘˙qĐan“hetŽĄto•Getsen¸čb“ord–U aan“het“lezen“is.ŽŚComplexere›˝żin•¸čv“oGerapparaten˜zoals˜disk-˜of˜net“w“erkk‘˙qĐaarten˜w“erk“en˜op˜een˜v“ergelijkbare˜manier.‘Ť^HierbGo“v“enŽĄrefereerde–‰ wš¸če“naar“een“disk˜con˜troller“die“de“bus“gebruikte“om“te“seinen“dat“er“aan“een“diskv˜erzoGek“w˜asŽĄbšGean•¸čt“w“o˜ord.‘&`W‘˙*¸at–ćŔer“in“w•¸čerk“elijkheid–ćŔgeb˜eurt,‘ (is“dat“de“disk“een“inš¸čterrupt“v˜eroGorzaakt.‘&`De“disk“in˜terruptŽĄhandler–Y]kš¸čopieert“de“on˜tv‘˙qĐangen“gegev˜ens“v˜erv˜olgens“naar“het“geheugen,‘‹¸v˜ošGor“later“gebruik“do˜or“het“programmaŽĄdat–U het“v¸čerzoGek“deed.ŽŚIedere–=sošGort“in¸čterrupt“heeft“een“geasso˜cieerde“Âprioriteiten‘B—nive‘˙}/au‘ÄUš.‘ŤŘLagere-prioriteit“in¸čterrupts“(zoals“to˜et-ŽĄsen•¸čbGord›÷ev“en“ts)˜moGeten˜w“ac“h“ten˜op˜hogere-prioriteit˜in“terrupts˜(zoals˜kloktikk“en˜of˜disk˜ev“en“ts).‘ŔUnix˜isŽĄon•¸čt“w“orpšGen–Έom“hoge“prioriteit“te“gev¸čen“aan“de“so˜ort“ev•¸čen“ts–Έdie“snel“mo˜eten“wš¸čorden“v˜erw˜erkt“om“erv˜oGor“teŽĄzorgen–U dat“de“respšGonse“v‘˙qĐan“de“computer“vlot“v¸čerlo˜opt.ŽŚIn–t™de“opstartmeldingen“v‘˙qĐan“je“OS,“zou“het“kunnen“dat“je“vš¸čerwijzingen“tegenk˜om˜t“naar“ÂIRž˜Q‘đŚš-n˜ummers.‘ĎěHetŽĄk›˙qĐan–lgzijn“dat“je“je“er“bGewust“v˜an“bGen¸čt“dat“€é€én“v˜an“de“algemene“manieren“om“je“hardw¸čare“onjuist“te“congurerenŽĄis,‘™~dat›j–t•¸čw“ee˜v“ersc“hillende˜apparaten˜dezelfde˜IR“Q‘jZprobGeren˜te˜gebruik“en,‘™~zonder˜dat˜je˜exact˜bGegrijpt˜w“aarom.ŽŚHier–Ģis“het“an•¸čt“w“ošGord.‘ŔIR“Q‘ąstaat‘Ģv“o˜or›Ģ"In“terrupt˜Request".‘ŔHet˜b•Gesturingssysteem˜mo“et˜bij˜het˜opstartenŽĄw•¸četen›ćĹw“elk“e˜gen“ummerde˜in“terrupts˜elk˜hardw“are-apparaat˜zal˜gebruik“en,‘ü×zoGdanig˜dat˜het˜de˜juiste˜handlersŽĄmet–14ieder“daarv›˙qĐan“k˜an“assoGci€ëren.‘źAls“t•¸čw“ee›14v“ersc“hillende˜apparaten˜dezelfde˜IR“Q‘0űprobGeren˜te˜gebruik“en,ŽĄzullen–RDinš¸čterrupts“soms“naar“de“v˜erk˜eerde“handler“w˜orden“gezonden.‘hëDit“zal“gew˜oGonlijk“op“z'n“minst“hetŽĄapparaat–U došGen“v‘˙qĐastlop˜en,“en“k‘˙qĐan“het“OS“soms“geno˜eg“in“de“w¸čar“brengen“dat“het“v‘˙qĐastlo˜opt“of“crash¸čt.ŽŸ(Ŕœž8Ž‘ÁHo•pœe›G\do“et˜mijn˜computer˜v•cersc“heidene˜dingen˜tegelijk“ertijd?ŽŸż:šDat–ćQdoGet“'t“in“w•¸čerk“elijkheid–ćQniet.‘%Computers“kunnen“slec•¸čh“ts–ćQ€é€én“taak“(of“Âpr–˙}/o“c“es‘Ňš)–ćQtegelijkš¸čertijd“v˜erric˜h˜ten.ŽĄMaar–ăeen“computer“k›˙qĐan“zeer“snel“v˜an“taak“wisselen,‘ůÓen“langzame“menselijkš¸če“w˜ezens“v˜ošGor“de“gek“houden“do˜orŽĄze–U te“laten“denkš¸čen“dat“het“v˜ersc˜heidene“dingen“tegelijk˜ertijd“doGet.‘q€Dit“w˜ordt“Âtimesharing‘7ŽšgenoGemd.ŽŚEen–Ň&v›˙qĐan“de“tak¸čen“v˜an“de“k¸černel“is“het“bGeheren“v˜an“timesharing.‘č’Het“heeft“een“onderdeel“dat“de“Âsche‘˙}/dulerŽĄšwš¸čordt–ežgenoGemd,‘ićdie“alle“informatie“in˜tern“bijhoudt“o˜v˜er“alle“andere“(niet-k˜ernel)“proGcessen“in“je“dieren˜tuin.ŽĄIedere–ŞL1/60“v‘˙qĐan“een“seconde,‘Ěvgaat“er“in“de“kš¸černel“een“tijdklok“af“die“een“klokin˜terrupt“genereert.‘8De“sc˜hedulerŽĄstopt–1´het“prošGces“w•¸čelk“e–1´erop“dat“momen¸čt“o˜ok“draait,›8Ęonderbreekt“het“op“z'n“plaats,˜en“geeft“de“conš¸čtrole“o˜v˜erŽĄaan–U een“ander“proGces.ŽŚ1/60–:×v‘˙qĐan“een“seconde“klinkt“misscš¸čhien“niet“als“v˜eel“tijd.‘h˝Maar“v˜oGor“de“tegen˜w˜ošGordige“micropro˜cessors“is“hetŽĄvš¸čoldoGende–Ű˙om“tienduizenden“mac˜hine-instructies“uit“te“v˜oGeren,‘ýˇdie“ink“w˜at“w˜erk“kunnen“v˜erric˜h˜ten.‘DusŽĄzelfs–U als“je“v¸čeel“prošGcessen“hebt“lop˜en,“k›˙qĐan“ieder“erv˜an“heel“wš¸čat“in“zijn“tijdsfragmen˜t“v˜olbrengen.ŽŚIn–Q×praktijk“k‘˙qĐan“het“zijn“dat“een“programma“niet“zijn“vš¸čolledige“tijdsfragmen˜t“krijgt.‘Als“een“in˜terrupt“v‘˙qĐanaf“eenŽĄI/O‘üždevice›üŐbinnenk•¸čom“t,‘}stopt˜de˜k“ernel˜in˜feite˜de˜h“uidige˜taak,‘}draait˜de˜in“terrupt˜handler,‘}en˜k“eert˜daarnaŽĄterug–şłnaar“de“hš¸čuidige“taak.‘˘9Een“storm“hoge-prioriteiten“in˜terrupts“k‘˙qĐan“de“normale“v˜erw˜erking“v˜erdringen;ŽĄdit–U wš¸čangedrag“w˜ordt“Âthr‘˙}/ashing‘7ŽšgenošGemd“en“is“gelukkig“onder“mo˜derne“Unixes“zeer“mo˜eilijk“te“forceren.ŽŚIn–„›feite“is“de“snelheid“v‘˙qĐan“programma's“slec•¸čh“ts–„›zeer“zelden“b•Gep“erkt›„›do“or˜de˜ho“ev•¸čeelheid˜mac“hinetijd˜dieŽĄze–ŠĹkunnen“krijgen“(er“zijn“een“paar“uitzonderingen“op“deze“regel,‘Ř.zoals“het“genereren“v‘˙qĐan“geluid“of“3-DŽĄgraphics).‘]+V‘˙*¸eel›v‘˙qĐak•¸čer,‘$Sw“orden˜v“ertragingen˜v“eroGorzaakt˜als˜het˜programma˜op˜gegev“ens˜v‘˙qĐan˜een˜diskdriv“e˜ofŽĄnet•¸čw“erkv“erbinding–U moGet“w•¸čac“h“ten.ŽŽŽŒ‹‚? Ű_2 ý ~?Ÿ„€ŐÁGŽż9.‘ń8HošQÂe–Őzorgt“mijn“computer“ervŽ>o˜or“dat“pro˜cessen“elk‘˙\|aar“niet“in“de“wŽ>eg“zitten?‘?ŸJš8ŽŽ ՁÁ ýVŻEen–ŸbGesturingssysteem“dat“vš¸čolgens“v‘˙qĐaste“regel“v˜eel“gelijktijdige“proGcessen“k‘˙qĐan“ondersteunen,‘ą{w˜ordt“"m˜ulti-Ž¤ Žtasking"genošGemd.‘,÷De–‡„Unix“familie“b˜esturingssystemen“is“v‘˙qĐanaf“het“b˜egin“af“aan“on•¸čt“w“orp˜en‘‡„v“o˜or‘‡„m“ultitaskingŽĄen–îis“daar“erg“goGed“in““vš¸čeel“eectiev˜er“dan“Windo˜ws“of“de“Mac“OS,“w˜aarbij“m˜ultitasking“als“een“latere“o˜v˜er-ŽĄwš¸čeging–ńăis“ingesloten“en“ze“dit“nogal“armzalig“do•Gen.‘GČEci€ën˜te,‘b“etrou˜wbare–ńăm˜ultitasking“is“een“bGelangrijkŽĄdeel–U v‘˙qĐan“wš¸čat“Lin˜ux“supGerieur“maakt“v˜oGor“net˜w˜erk˜en,“comm˜unicaties,“en“W‘˙*¸eb“service.ŽŸ(żŐž9Ž‘ÁHošpœe–‡Äzorgt“mijn“computer“ervco˜or“dat“pro˜cessen“elk‘˙Ćaar“niet“in“deŽŸ…‘Áwceg‘G\zitten?ŽŸż:šDe–[scš¸čheduler“v‘˙qĐan“de“k˜ernel“zorgt“v˜oGor“het“v˜erdelen“v‘˙qĐan“de“tijd“o˜v˜er“de“prošGcessen.‘ƒtJe“b˜esturingssysteemŽĄmošGet–Ścze“o˜ok“qua“ruimš¸čte“v˜erdelen,‘ş´zošGdanig“dat“pro˜cessen“niet“in“elk‘˙qĐaars“w¸čerkgeheugen“kunnen“gaan“zitten.ŽĄZelfs–ł=als“je“er“v‘˙qĐan“uit“gaat“dat“alle“programma's“probGeren“samen“te“w•¸čerk“en,‘ĘĹwil–ł=je“niet“dat“een“bug“in“hetŽĄene–4űprogramma“de“andere“programma's“k‘˙qĐan“bšGesc¸čhadigen.‘Datgene“dat“je“b˜esturingssysteem“do˜et“om“ditŽĄprobleem–U op“te“lossen“w¸čordt“Âgeheugenb–˙}/ehe“er‘hšgenoGemd.ŽŠŘźIeder–™prošGces“in“je“dieren¸čtuin“heeft“z'n“eigen“gebied“in“het“geheugen“no˜dig,‘-÷als“een“plaats“v‘˙qĐan“w¸čaaruit“hetŽĄz'n–oŁcošGde“k‘˙qĐan“uitv¸čo˜eren“en“v‘˙qĐariab˜elen“en“resultaten“in“op“k‘˙qĐan“slaan.‘ÁJe“kunš¸čt“je“dit“v˜oGorstellen“als“een“alleenŽĄleesbaar›)TÂc–˙}/o“de‘kese“gment‘š(w•¸čaar˜de˜instructies˜v‘˙qĐan˜het˜proGces˜in˜staan)˜en˜een˜sc“hrijfbaar˜Âdata‘kese‘˙}/gment‘š(w“aarinŽĄalle–{“v›˙qĐariabGelen“v˜an“het“proGces“zijn“opgeslagen).‘(üHet“data“segmenš¸čt“is“w˜aarlijk“uniek“v˜ošGor“ieder“pro˜ces,‘§maar“alsŽĄt•¸čw“ee–Đ_prošGcessen“dezelfde“co˜de“uitv•¸čo˜eren,‘ęěhersc“hikt–Đ_Unix“ze“automatisc¸čh“zo˜danig“dat“ze“een“enk¸čel“co˜desegmen¸čtŽĄdelen–U als“een“eci€ën¸čtie“maatregel.ŽŚEci€ën¸čtie–{lis“bšGelangrijk,‘„˙omdat“geheugen“duur“is.‘ädSoms“heb“je“niet“geno˜eg“om“het“geheel“aan“programma'sŽĄdie–cŮop“de“computer“w¸čorden“gedraaid,›g‡v‘˙qĐast“te“houden,˜v¸čošGoral“als“je“een“gro˜ot“programma“zoals“een“X‘cŐserv¸čerŽĄgebruikt.›3čOm–•ídit“te“on•¸čtduik“en,‘ć!gebruikt–•íUnix“een“strategie“die“Âvirtue‘˙}/el‘şÓgeheugen‘ZBšw¸čordt“genoGemd.˜HetŽĄprobšGeert–¨niet“alle“co˜de“en“data“v¸čo˜or“een“pro˜ces“in“het“geheugen“te“b˜ehouden.‘jdIn“plaats“daarv‘˙qĐan,‘źÔblijft“hetŽĄw•¸čerk“en–­met“een“relatief“kleine“Âwerkset‘ňÉš;‘.Ôde“rest“v›˙qĐan“de“stand“v˜an“het“prošGces“blijft“ac•¸čh“ter–­in“een“sp˜eciaal“ÂswapŽĄsp–˙}/ac“e‘ošgebied–U op“je“harddisk.ŽŚAls–řhet“prošGces“draait,‘prob˜eert“Unix“v¸čo˜oruit“te“lop˜en“op“ho˜e“de“wš¸čerkset“zal“wijzigen“en“heeft“slec˜h˜ts“hetgeenŽĄhet–[unošGdig“heeft“in“het“geheugen.‘„~Dit“do˜eltreend“do˜en“is“zo•¸čw“el–[ugecompliceerd“als“lastig,‘ dus“ik“zal“nietŽĄprobšGeren–šhet“hier“allemaal“te“b˜esc•¸čhrijv“en,‘Eß–šmaar“het“hangt“af“v‘˙qĐan“het“feit“dat“co˜de“en“data•¸čv“erwijzingenŽĄgeneigd–vszijn“in“clusters“te“gebGeuren,‘žÇwš¸čaarbij“het“aannemelijk“is“dat“iedere“nieu˜w˜e“cluster“naar“een“oudeŽĄcluster–8ťin“de“buurt“erv›˙qĐan“v¸čerwijst.‘PDus“als“Unix“de“coGde“of“data“die“het“v˜aakst“(of“meest“recenš¸čt)“w˜ordtŽĄgebruikt,–U in“de“buurt“houdt,“zal“het“er“gew¸čošGonlijk“in“slagen“tijd“te“b˜esparen.ŽŚMerk–˜iop“dat“in“het“vš¸čerleden,‘éOm˜dit˜te˜do•Gen,‘ăłhoudt˜het˜een˜tab“el˜met˜gegev¸čensŽĄen–ŠcošGdesegmen¸čten“bij.‘ŒDe“tab˜el“wš¸čordt“bijgew˜erkt“als“een“proGces“om“meer“geheugen“v˜erzoGekt“of“geheugenŽĄvrijgeeft–U (het“laatste“meestal“als“het“stopt).ŽŚDeze–ŔtabšGel“w¸čordt“gebruikt“om“commando's“do˜or“te“gev¸čen“naar“een“gesp˜ecialiseerd“deel“v‘˙qĐan“de“onderliggendeŽĄhardwš¸čare–T˙met“de“naam“ÂMMU‘řsšof“Âmemory–“’management“unit‘ňÉš.‘quMMU's–T˙zijn“bGo˜v˜enop“mošGderne“pro˜cessor“c¸čhipsŽĄgebšGou¸čwd.‘gFDe–6pMMU‘6iheeft“de“sp˜eciale“mogelijkheid“om“geheugengebieden“af“te“sc¸čhermen,‘<”dus“een“buiten-de-ŽĄgrens–U vš¸čerwijzing“zal“w˜orden“gew˜eigerd“en“een“spGeciale“in˜terrupt“v˜eroGorzak˜en.ŽŽŽŒ‹ –Í Ű_2 ý ~?Ÿ„€ŐÁGŽż10.‘ń8Ho•QÂe›Őb“ew•Ž>aart˜mijn˜computer˜zak“en˜in˜het˜geheugen?’ąŠ¨š9ŽŽ ՁÁ ýVŻAls–…ňje“ošGoit“een“Unix“melding“"Segmen¸čtation“fault",‘’'"core“dump˜ed€öf“iets“v¸čergelijkbaars“te“zien“krijgt,‘’'is“ditŽ¤ Žw¸čat–Yďer“precies“is“gebšGeurd;‘ÜWeen“p˜oging“v‘˙qĐan“het“uitv¸čo˜erende“programma“om“to˜egang“tot“het“geheugen“(deŽĄcore)–Ž?buiten“zijn“segmenš¸čt“te“v˜erkrijgen,‘Ćheeft“een“fatale“in˜terrupt“v˜eroGorzaakt.‘|ÜDit“duidt“op“een“bug“in“deŽĄprogrammacoGde;‘łÇde›”:Âc–˙}/or“e‘Í˝dump‘5Čšdie˜het˜ac•¸čh“terlaat˜bGestaat˜uit˜diagnostisc“he˜informatie˜met˜de˜b•Gedo“eling˜deŽĄprogrammeur–U te“helpšGen“het“op“te“sp˜oren.ŽŠŘźEr–ZOis“nog“een“aspšGect“om“erv¸čo˜or“te“zorgen“pro˜cessen“tegen“elk‘˙qĐaar“te“b˜esc¸čhermen,‘[›buiten“het“op˜delen“v‘˙qĐan“hetŽĄgeheugen–Ódat“ze“bšGenaderen.‘€˜Je“zal“o˜ok“de“to˜egank¸čelijkheden“v‘˙qĐan“de“b˜estanden“willen“b˜eheren,‘0żzo˜dat“eenŽĄprogramma–M(met“fouten“of“een“kwš¸čaadwillig“programma“kritiek˜e“delen“v›˙qĐan“het“systeem“niet“k˜an“bGesc¸čhadigen.ŽĄDaarom–U bšGestaan“er“onder“Unix“11.5“(b˜estandsp˜ermissies),“die“w¸če“later“zullen“b˜esprek¸čen.ŽŸ(Ŕœž10Ž‘Ź%Ho•pœe›G\b“ew•caart˜mijn˜computer˜zak“en˜in˜het˜geheugen?ŽŸż:šW‘˙*¸aarsc•¸čhijnlijk›#Áw“eet˜je˜al˜dat˜alles˜op˜een˜computer˜als˜een˜reeks˜bits˜(binary˜digits)˜w“ordt˜bGew“aard;‘46je˜kun“tŽĄje–Áxdit“v¸čošGorstellen“als“een“heleb˜o˜el“aan-“en“uitsc•¸čhak“elingen).‘ś‡W‘˙*¸e–Áxzullen“hier“uitleggen“ho˜e“deze“bits“w¸čordenŽĄgebruikt–U om“de“letters“en“nš¸čummers“w˜eer“te“gev˜en.ŽŚV‘˙*¸ošGordat– Âw¸če“hier“op“in“kunnen“gaan,‘óŞmo˜et“je“enig“b˜egrip“hebb˜en“v›˙qĐan“de“Âwo–˙}/or“dgr“o“otte‘ašv˜an– Âje“computer.ŽĄDe›°w¸čo•Gordgro“otte˜is˜de˜vš¸čo“ork˜eursgro“otte–°v‘˙qĐan“je“computer“v˜ošGor“het“mano˜euvreren“v‘˙qĐan“eenheden“informatie;ŽĄtec•¸čhnisc“h–Ő9gezien“is“het“de“lengte“v›˙qĐan“de“Âr–˙}/e“gisters‘§Nšv˜an–Ő9je“prošGcessor,‘îÍw¸čat“de“opslaggebieden“zijn“die“je“pro˜cessorŽĄgebruikt–‹¨vš¸čoGor“de“arithmetisc˜he“en“logisc˜he“bGerek˜eningen.‘Dit“is“w˜at“mensen“b•Gedo“elen,‘™Ials–‹¨ze“sc˜hrijv˜en“o˜v˜erŽĄcomputers–U met“bit-grošGotte“(w¸čaarbij“ze“het“hebb˜en“o•¸čv“er,‘U bijv“o˜orb˜eeld–U 32-bit‘*hof“64-bitcomputers).ŽŚDe–Ž%meeste“computers“(wš¸čaaronder“386,–œg486,“P˜en˜tium–Ž%en“P˜en˜tium“IšGI‘ŽPC's)“hebb˜en“een“w¸čo˜ordgro˜otte“v‘˙qĐan“32ŽĄbits.›:PDe–˜oude“286“computers“hadden“een“w¸čo•Gordgro“otte–˜v‘˙qĐan“16.˜Mainframes“v›˙qĐan“de“oude“stijl“hadden“v˜aakŽĄ36-bit– ‡w¸čošGorden.‘XMEen“paar“pro˜cessors“(zoals“de“Alpha“w•¸čelk“e– ‡v‘˙qĐan“DEC‘ twš¸čas“en“n˜u“v‘˙qĐan“Compaq)“hebbGen“64-bitŽĄwš¸čoGorden.‘o,Het–N%64-bit“w˜oGord“zal“de“v˜olgende“vijf“jaar“meer“algemeen“w˜orden;‘PyIn˜tel“is“v‘˙qĐan“plan“de“P˜en˜tium“IGIŽĄdošGor–U een“64-bit“c¸čhip“met“als“co˜denaam“`Merced',“en“nš¸ču“ocieel“genaamd“de“`Itanium',“te“v˜erv‘˙qĐangen.ŽŚDe–y“computer“ziet“je“geheugen“als“een“reeks“wš¸čoGorden“gen˜ummerd“v‘˙qĐan“0“tot“€é€én“of“ander“groGot“n˜ummer,ŽĄwš¸čaarv‘˙qĐan–"Şde“w˜aarde“afhank˜elijk“is“v›˙qĐan“de“groGotte“v˜an“je“geheugen.‘ÚDie“w¸čaarde“is“b•Gep“erkt›"Şdo“or˜je˜w¸čo“ord-ŽĄgro•Gotte.‘mDaarom›8Ämo“eten˜oudere˜computers,–q­zoals˜286'rs,“zic¸čh˜do•Gor˜mo“eizame˜b“o“c•¸čh“ten˜wringen˜om˜groteŽĄhošGev¸čeelheden–8Űgeheugen“te“adresseren.‘hIk“zal“ze“hier“niet“b˜esc•¸čhrijv“en;‘BHze–8Űb˜ezorgen“oudere“programmeurs“nogŽĄsteeds‘U nac•¸čh“tmerries.ŽŸ#͍Á10.1Ž‘%}¨GetallenŽŸMލšGetallen–.dwš¸čorden“v˜oGorgesteld“als“w˜oGorden“of“stel“w˜oGorden,‘6#afhank˜elijk“v‘˙qĐan“de“w˜o•Gordgro“otte–.dv‘˙qĐan“je“proGcessor.ŽĄEen–U 32-bit“computerw¸čošGord“is“de“meest“algemene“gro˜otte.ŽŚRekš¸čenkunde–bv‘˙qĐan“gehele“getallen“(arithmetic“in˜teger)“nadert,‘Ľ;maar“heeft“niet“w˜erk˜elijk“een“mathematisc˜hŽĄgrondtal› `t•¸čw“ee.‘_ëHet˜minst˜signican“te˜bit˜is˜1,‘*ív“erv“olgens˜2,‘*ídan˜4˜enzo“v“oGort˜als˜in˜zuiv“er˜binair.‘_ëMaar˜n“um-ŽĄmers–¤˘met“een“tekš¸čen“w˜orden“v˜oGorgesteld“in“Âtwe–˙}/e-c“omplement‘—kšnotatie.‘6ŹHet–¤˘meest“signican˜te“bit“is“een“ÂtekenbitŽĄšw•¸čelk“e–Ńęde“kw•¸čan“titeit–Ńęnegatief“maakt,‘ě(en“ieder“negatief“nš¸čummer“k‘˙qĐan“w˜orden“v˜erkregen“uit“de“correspGonderendeŽĄpGositiev•¸če›žôw“aarde˜doGor˜alle˜bits˜om˜te˜draaien.‘NüDaarom˜k“omen˜in“tegers˜op˜een˜32-bit˜computer˜v“oGor˜in˜hetŽĄbGereik–()-231“+1“tot“231“-1“(wš¸čaar““de“`mac˜h˜ts'-bGew˜erking“,‘1'23=8“is).‘bƒHet“32e“bit“w˜ordt“gebruikt“v˜oGor“hetŽĄtek¸čen.ŽŚEen–naanš¸čtal“computertalen“geeft“je“toGegang“tot“Âunsigne‘˙}/d‘šarithmetic‘’š(rek˜enkunde“zonder“tek˜en)“w˜elk˜e“isŽĄgebaseerd–U op“grondtal“2,“met“vš¸čerder“alleen“pGositiev˜e“n˜ummers“en“n˜ul.ŽŚDe–œŘmeeste“proGcessors“en“een“aan¸čtal“programmeertalen“kunnen“omgaan“met“Âo–˙}/ating-p“oint‘Ąšgetallen‘œŘ(dezeŽĄmogelijkheid–‡üis“in“alle“recenš¸čte“proGcessor-c˜hips“ingeb•Gou˜wd).‘ Floating-p“oin˜t–‡ügetallen“gev˜en“je“een“v˜eel“brederŽŽŽŒ‹ Ź_ Ű_2 ý ~?Ÿ„€ŐÁGŽż11.‘ń8Ho•QÂe›Őb“ew•Ž>aart˜mijn˜computer˜zak“en˜op˜disk?’Ř;pš10ŽŽ ՁÁ ýVŻbGereik–5Eaan“wš¸čaarden“dan“gehele“getallen“(in˜tegers)“en“gev˜en“je“de“mogelijkheid“breuk˜en“uit“te“laten“drukk˜en.Ž¤ ŽDe–źŘwijze“wš¸čaarop“dit“w˜ordt“gedaan“v˜ersc˜hilt“en“is“te“gecompliceerd“om“hier“in“detail“te“bGesprek˜en,‘ŰMmaar“in“hetŽĄalgemeen–˝lijkt“'t“vš¸čeel“op“de“zogenoGemde“`w˜etensc˜happGelijk˜e“notatie',‘רw˜aarbij“men“op“zou“kunnen“sc˜hrijv˜enŽĄ1.234–°Î*“1023;‘ŢĽde“cošGdering“v‘˙qĐan“het“getal“is“geplitst“in“een“Âmantisse‘qš(1.234)“en“een“exp˜onenš¸čt“(23)“v˜oGor“eenŽĄmac•¸čh“t–U tot“de“tiende“v¸čermenigvuldiging.ŽŸ#͍Á10.2Ž‘%}¨T‘ţŕek ensŽŸMލšT‘˙*¸ek•¸čens›Œ)w“orden˜normaal˜geprok“en˜v“o•Gorgesteld˜do“or˜een˜string˜v‘˙qĐan˜zev¸čen˜bits,‘™ëgeco“deerd˜in˜het˜zogeno“emdeŽĄASCIšGI‘ĄŠ(American–ĄžStandard“Co˜de“for“Information“In•¸čterc“hange).‘VúOp–Ąžmo˜derne“computers,‘´˝b˜estaat“ieder“v‘˙qĐanŽĄde–“Ź128“ASCIGI-tekš¸čens“uit“de“laagste“zev˜en“bits“v‘˙qĐan“een“8-bit“Âo‘˙}/ctet‘ňÉš;‘˛ňoGctets“zijn“v˜erpakt“in“geheugen˜w˜oGorden,ŽĄzo•Gdat›ÔQ(bijv¸čo“orb“eeld)˜een˜string˜v‘˙qĐan˜zes˜tek•¸čens˜slec“h“ts˜t“w“ee˜geheugen“w“o•Gorden˜in˜b“eslag˜k‘˙qĐan˜nemen.‘F‘T¸čyp˜`manŽĄ7–U ascii'“ac•¸čh“ter–U je“Unix-prompt,“v¸čošGor“een“ASCI˜I-co˜de“tab˜el.ŽŠŘźDe–TĆvš¸čoGorgaande“paragraaf“w˜as“op“t˜w˜ee“manieren“misleidend.‘prDe“minst“bGelangrijk˜e“is“dat“de“term“`oGctet'ŽĄformeel–Ô7correct“is,‘óýmaar“in“feite“zelden“w¸čordt“gebruikt;‘Ăde“meeste“mensen“refereren“naar“een“oGctet“als“eenŽĄÂbyte‘x­šen›¸^v•¸čerw“ac“h“ten˜dat˜een˜b“yte˜ac“h“t˜bits˜groGot˜is.‘›;Strikt˜genomen,‘Ń.is˜de˜term˜`b“yte'˜algemener;‘éţer˜w“arenŽĄbijvš¸čo•Gorb“eeld–U 36-bit“computers“met“9-bit“b˜ytes“(alhoGew˜el“die“er“w˜aarsc˜hijnlijk“noGoit“meer“zullen“zijn).ŽŚHet–ÁŠbšGelangrijkste“is“dat“niet“iedereen“in“de“w¸čereld“ASCI˜I‘Ágebruikt.‘ˇIn“feite“k‘˙qĐan“niet“iedereen“in“de“w¸čereldŽĄgebruik–>zmak¸čen“v‘˙qĐan“ASCIšGI.“Ho˜ewš¸čel“het“prima“w˜erkt“v˜oGor“Amerik‘˙qĐaans-Engels,‘v5on˜tbrek˜en“er“v˜eel“geaccen˜tueerdeŽĄletters–ęŁen“andere“spGeciale“tekš¸čens“in“die“gebruik˜ers“v‘˙qĐan“andere“talen“nošGdig“hebb˜en.‘NZelfs“Britisc¸čh-Engels“heeftŽĄer–U problemen“mee“dat“er“een“pGound-tekš¸čen“in“on˜tbreekt“om“geldbGedragen“mee“uit“te“drukk˜en.ŽŚEr–Ę,zijn“v•¸čersc“heidene–Ę,pšGogingen“ondernomen“iets“aan“dit“probleem“te“do˜en.‘C/Allen“mak¸čen“gebruik“v‘˙qĐan“het“extraŽĄhoge–ŕŤbit“dat“ASCIšGI‘ŕniet“heeft,‘÷őw¸čaarbij“ASCI˜I‘ŕwš¸čordt“gemaakt“tot“de“lage“helft“v‘˙qĐan“een“256-c˜haracter“set.‘JŻHetŽĄmeest–Igebruikte“hierv‘˙qĐan“is“de“zogenoGemde“`Latin“1'“cš¸čhararacter“set“(w˜at“formeler“met“de“naam“ISO‘78859-1).ŽĄDit–Ü:is“de“standaard“cš¸čharacter“set“v˜oGor“Lin˜ux,‘ôhHTML,“en“X.“Microsoft“Windo˜ws“maakt“gebruik“v‘˙qĐan“een“gewi-ŽĄjzigde–(çLatin-1.‘bĂHieraan“zijn“een“b•Go“el–(çtekš¸čens“to•Gegev˜o“egd,‘1Ŕzoals–(çde“rec˜h˜ter“en“link˜er“dubbGele“aanhalingstek˜ensŽĄop–…~plaatsen“v‘˙qĐan“de“originele“Latin-1,‘іdie“om“historisc¸čhe“redenen“niet“zijn“ingevuld.‘›Zie“de“Âdemor‘˙}/oniserŽĄĂ–U špage“vš¸čoGor“de“problemen“die“dit“v˜eroGorzaakt).ŽŚLatin-1––U špage“v¸čoGor“details.ŽŚDe–ĚČlaatste“oplossing“is“een“zeer“grote“standaard“genaamd“UnicoGde“(en“z'n“iden•¸čtiek“e›ĚČt“w“eeling˜ISO/IEC‘ĚĽ10646-ŽĄ1:1993).›2łUnicoGde–˜ˇis“iden¸čtiek“aan“Latin-1“in“z'n“laagste“256“slots.˜HierbšGo•¸čv“en–˜ˇb˜ev‘˙qĐat“het“in“16-bit“ruim¸čte“Grieks,ŽĄCyrilliscš¸čh,–żüArmeens,“Hebreeu˜ws,“Arabisc˜h,“Dev‘˙qĐanagari,“Bengaals,“Gurm˜ukhi,“Gujarati,“Oriy˜a,“T›˙*¸amils,“T˜el-ŽĄugu,–vKannada,“Mala•¸čy“alam,–vThaais,“Lao,“Georgiaans,“TibšGetaans,“Japanees-Kana,“de–oov¸čolledige“set“met“mo˜d-ŽĄerne–śjKš¸čoreaanse“Hangul,‘νen“een“€é€énduidige“set“met“Chinese/Japanese/K˜oreaanse“(CJK)‘śQideogrammen.‘•_ZieŽĄde›U ÂUnic–˙}/o“de–“°Home“Page˜Ă˜šv¸čoGor˜details.ŽŸ(Ŕœž11Ž‘Ź%Ho•pœe›G\b“ew•caart˜mijn˜computer˜zak“en˜op˜disk?ŽŸż:šAls–€îje“een“harddisk“onder“Unix“bšGekijkt,‘Ť^zie“je“een“structuur“met“b˜eno˜emde“directory's“en“b˜estanden.‘*ĹNormaalŽĄgesprok¸čen–LBzul“je“niet“diepšGer“ho˜evš¸čen“te“kijk˜en,‘Nmaar“het“zou“handig“zijn“om“te“w˜eten“w˜at“er“zic˜h“afspGeelt“alsŽĄer–űzicš¸čh“een“disk˜crash“v˜o•Gordo“et–űen“je“bšGestanden“mo˜et“prob˜eren“te“redden.‘~Helaas“is“er“geen“go˜ede“manierŽĄom–YÉde“diskš¸čorganisatie“bGek˜ek˜en“v‘˙qĐanaf“het“bGestandsniv˜eau“te“bGesc˜hrijv˜en,‘Zôdus“ik“zal“het“v›˙qĐanaf“de“k˜an¸čt“v˜an“deŽĄhardw¸čare–U mošGeten“b˜esc•¸čhrijv“en.ŽŽŽŒ‹ Ŕ2 Ű_2 ý ~?Ÿ„€ŐÁGŽż11.‘ń8Ho•QÂe›Őb“ew•Ž>aart˜mijn˜computer˜zak“en˜op˜disk?’Ř;pš11ŽŽ ՁÁ ýVŻÁ11.1Ž‘%}¨Lo• w-lev“el–¸disk“en“b_úestandssysteemstructuurŽŸMލšHet–ăUoppGervlaktegebied“v‘˙qĐan“je“disk,‘úwš¸čaar“de“gegev˜ens“w˜orden“opgeslagen,‘úis“onderv˜erdeeld“op“iets“dat“lijkt“opŽ¤ Žeen–>$dartbšGord,‘B˝“in“circulaire“sp˜oren“die“wš¸čeer“als“taartstukk˜en“zijn“onderv˜erdeeld“in“sectoren.‘i×Omdat“spGorenŽĄdic•¸čh“tbij–de“buitenrand“uit“een“grotere“oppšGervlakte“b˜estaan“dan“die“dic•¸čh“tbij–de“as“in“het“midden“v‘˙qĐan“de“disk,ŽĄbšGevinden–š’er“zic¸čh“op“de“buitenste“sp˜oren“meer“sectorstukk¸čen“dan“op“de“binnenste“sp˜oren.‘žŐIedere“sector“(ofŽĄÂdiskblok‘}š)–Ś#heeft“dezelfde“grošGotte,‘şddie“onder“mo˜derne“Unixes“in“het“algemeen“1“binary“K‘Ś(1024“8-bit“w¸čo˜ord)ŽĄgroGot–U is.‘q€Ieder“diskblok“heeft“een“uniek“adres“of“Âdiskbloknummer‘}š.ŽŠŘźUnix–Rvš¸čerdeelt“de“disk“in“Âdiskp‘˙}/artities‘Ňš.‘\aart˜mijn˜computer˜zak“en˜op˜disk?’Ř;pš12ŽŽ ՁÁ ýVŻw¸čaaraan–U al“het“andere“hangt.ŽŠŘźDe–űandere“partities“in“het“systeem“mošGeten“aan“deze“ro˜ot“zijn“gek¸čopp˜eld“op˜dat“je“v¸čolledige,‘$uit“meerdere-Ž¤ Žpartities–żbšGestaande“b˜estandssysteem“to˜egankš¸čelijk“is.‘!^Ongev˜eer“halv˜erw˜ege“het“b•Go“otpro“ces–żzal“Unix“dezeŽĄniet-ro•Gotpartities›U to“egank•¸čelijk˜mak“en.‘q€Het˜zal˜iedere˜partitie˜aan˜een˜directory˜op˜de˜roGotpartitie˜Âmounten‘ÄUš.ŽŚAls–f&je“bijvš¸čo•Gorb“eeld–f&een“Unix“directory“met“de“naam“`/usr'“hebt,‘jhis“het“w˜aarsc˜hijnlijk“een“moun˜t“pGoin˜t“naarŽĄeen–†$partitie“die“vš¸čeel“ge€ďnstalleerde“programma's“op“je“Unix“bGev‘˙qĐat“maar“niet“is“v˜ereist“gedurende“de“initi€ëleŽĄb•Go“ot.ŽŸ#͍Á11.4Ž‘%}¨Hoš_úe–¸een“b˜estand“w ordt“opgezo˜c• h“tŽŸMލšW‘˙*¸e–Jkunnen“nš¸ču“v‘˙qĐan“bGo˜v˜en“naar“onder“het“bšGestandssysteem“b˜ekijk¸čen.‘ţAls“je“een“b˜estand“op˜en¸čt“(zoals,‘ŐlatenŽĄwš¸če–U zeggen,“Ă/home/esr/WWW/ldp/fundamentals.sgmlš)“gebGeurt“er“het“v˜olgende:ŽŚJe–k“kš¸černel“bGegin˜t“bij“de“rošGot“v‘˙qĐan“je“Unix“b˜estandssysteem“(in“de“ro˜ot“partitie).‘´ŘHet“zo˜ekt“v‘˙qĐan“daar“uit“naarŽĄeen–‹@directory“met“de“naam“`home'.‘ßGewš¸čoGonlijk“is“`home'“een“moun˜tpGoin˜t“naar“een“grote“gebruik˜erspartitieŽĄelders,‘3_dus–*ďzal“het“daar“naartoGe“gaan.‘cpIn“de“top-levš¸čel“directorystructuur“v‘˙qĐan“deze“gebruik˜erspartitie,‘3_zal“hetŽĄnaar–“şeen“ingang“met“de“naam“`esr'“zošGek¸čen“en“een“ino˜de-n¸čummer“extraheren.‘-OHet“zal“naar“die“i-no˜de“gaan,ŽĄopmerkš¸čen–udat“het“een“directorystructuur“is,‘|řen“`WWW'‘třopzo•Gek˜en.‘Ń!ÂDie‘5Oši-no“de–uextraherend,‘|řzal“het“naar“deŽĄcorresp•Gonderende›ösub“directory˜gaan˜en˜`ldp'˜opzo“ek•¸čen.‘ĽDat˜zal˜het˜w“eer˜naar˜een˜andere˜directory-inoGdeŽĄbrengen.‘Z=Die–˘´opšGenend,‘özal“het“een“i-no˜de“nš¸čummer“v˜oGor“`fundamen˜tals.sgml'“vinden.‘Z=Die“inoGde“is“geenŽĄdirectory‘˙*¸,–U maar“bGev›˙qĐat“in“plaats“daarv˜an“de“lijst“met“diskblokkš¸čen“die“met“het“bGestand“o˜v˜ereenk˜omen.ŽŸ#͍Á11.5Ž‘%}¨Eigenaarsc hap–¸v‘˙@ an“een“bš_úestand,“p˜ermissies“en“b˜ev eiligingŽŸMލšOm–Sýte“v•¸čošGork“omen–Sýdat“programma's“p˜er“ongeluk“of“met“opzet“gegevš¸čens“in“de“w˜eg“zitten,‘‡jheeft“Unix“Âp‘˙}/ermissies‘Ňš.ŽĄDeze–˜Qwš¸čerden“oGorspronk˜elijk“on˜t˜w˜orpšGen“om“timesharing“te“ondersteunen“do˜or“meerdere“gebruik¸čers“op“dezelfdeŽĄcomputer–œUtegen“elk‘˙qĐaar“te“bšGesc¸čhermen,‘ÁKin“de“tijd“dat“Unix“ho˜ofdzakš¸čelijk“op“dure“gedeelde“minicomputers“w˜erdŽĄgedraaid.ŽŚJe–:ŢmošGet“onze“b˜escš¸čhrijving“v‘˙qĐan“gebruik˜ers“en“gro•Gep“en–:Ţin“de“sectie“5“(W‘˙*¸at“gebGeurt“er“als“je“inlogt?)‘"şev˜enŽĄterughalen,‘\óom›[cb•Gestandsp“ermissies˜te˜kunnen˜b“egrijp“en.‘„HIeder˜b“estand˜heeft˜een˜gebruik¸čer˜en˜een˜gro“ep˜alsŽĄeigenaar.‘éQDit–}zijn“in“eerste“instan¸čtie“degenen“die“het“bGestand“aanmaakten;‘‘ze“kunnen“met“de“programma'sŽĄc•¸čho“wn(1)–U en“cš¸čhgrp(1)“w˜orden“gewijzigd.ŽŚDe–r¸basis-pšGermissies“die“met“een“b˜estand“kunnen“w¸čorden“geasso˜cieerd“zijn“`read'“(p˜ermissie“de“gegev¸čens“erin“teŽĄlezen),‘úK`write'–ă•(pšGermissie“het“te“wijzigen)“en“`execute'“(p˜ermissie“het“als“een“programma“uit“te“v¸čo˜eren).‘K§IederŽĄbšGestand–Μheeft“drie“sets“met“p˜ermissies;‘ Z€é€én“v¸čo˜or“de“eigenaar“erv‘˙qĐan,‘ěű€é€én“v¸čo˜or“iedere“gebruik¸čer“uit“de“gro˜epŽĄerv‘˙qĐan,›{`en–sš€é€én“v¸čoGor“alle“anderen.‘ÍLDe“`privileges'“die“je“krijgt,˜als“je“inlogt,˜bGestaan“uit“de“mogelijkheden“omŽĄdie–G’bšGestanden“w¸čaarv‘˙qĐan“de“p˜ermissie-bits“o•¸čv“ereenk“omen–G’met“je“gebruik¸čers-ID‘Gof“€é€én“v‘˙qĐan“de“gro˜ep˜en“w¸čaarto˜eŽĄje›U b•Geho“ort,˜te˜lezen,˜sc•¸čhrijv“en˜en˜uit˜te˜v“oGeren.ŽŚLaten–ćNwš¸če“eens“een“aan˜tal“listings“v‘˙qĐan“bGestanden“op“een“h˜ypGothetisc˜h“Unix-systeem“bGekijk˜en“om“te“bGezienŽĄhošGe–U deze“op“elk‘˙qĐaar“in•¸čw“erk“en–U en“ho˜e“Unix“ze“to˜on¸čt.‘q€Hier“is“er“€é€én:ŽŸ´ĺ‘óqLË ectt0900Ĺsnark:~$–šNls“-l“notesŽŸ Š=‘-rw-r--r--‘+ę1–šNesr‘WÔusers‘3öZ2993“Jun“17“11:00“notesŽŸŘźšDit–)is“een“gewš¸čoGon“gegev˜ensbGestand.‘íhDe“listing“v˜ertelt“ons“dat“`esr'“de“eigenaar“erv‘˙qĐan“is“en“dat“het“w˜erdŽĄaangemaakt–Hjmet“de“groGep“`users'.‘K^W‘˙*¸aarscš¸čhijnlijk“plaatst“de“computer“w˜aar“w˜e“ons“n˜u“op“bGevinden,‘…aart˜mijn˜computer˜zak“en˜op˜disk?’Ř;pš13ŽŽ ՁÁ ýVŻPC's–LĐniet“zo“bšGelangrijk).‘nťOp“je“UNIX-systeem“k‘˙qĐan“het“een“andere“standaardgro˜ep“zijn,‘Nzmissc¸čhien“€é€én“die“isŽ¤ Žb•Geno“emd–U naar“je“gebruik¸čers-ID.ŽŠŘźDe–ţstring“`-rw-rr'“stelt“de“pšGermissie-bits“v¸čo˜or“v‘˙qĐan“het“b˜estand.‘V Het“allereerste“streep‘Ž0je“is“de“p˜ositie“v‘˙qĐan“deŽĄdirectory-bit;‘?0het–47zou“een“`d'“tonen“als“het“bšGestand“een“directory“w¸čas.‘fˆDe“eerste“p˜osities“daarna“zijn“de“drieŽĄplaatsen–űšmet“gebruikš¸čerspGermissies,‘ šhet“t˜w˜eede“drietal“de“pšGermissies“v‘˙qĐan“de“gro˜ep“en“het“derde“drietal“zijn“deŽĄp•Germissies›Äńv¸čo“or˜alle˜anderen˜(w•¸čorden˜v‘˙qĐaak˜`w“orld'˜p•Germissies˜geno“emd).‘AqBij˜dit˜b“estand˜mag˜de˜eigenaar˜v‘˙qĐanŽĄhet–Â7bšGestand“`esr'“het“b˜estand“lezen“en“b˜esc•¸čhrijv“en,‘ߙandere–Â7mensen“in“de“gro˜ep“`users'“mogen“het“lezen,‘ߙen“alleŽĄanderen–P˘in“de“wš¸čereld“mogen“het“lezen.‘pDit“is“een“t˜ypisc˜he“set“pGermissies“v˜oGor“een“gew˜oGon“gegev˜ensbGestand.ŽŚLaten–˛šwš¸če“n˜u“eens“kijk˜en“naar“een“bšGestand“met“totaal“andere“p˜ermissies.‘ŠKDit“b˜estand“is“de“GCC,“de“GNUŽĄC-compiler.ŽŸ´ĺ‘Ĺsnark:~$–šNls“-l“/usr/bin/gccŽŸ Š=‘-rwxr-xr-x‘+ę3›šNroot–ž†bin“64796˜Mar˜21˜16:41˜/usr/bin/gccŽŸŘźšDit–Z bšGestand“b˜eho˜ort“to˜e“aan“een“gebruik¸čer“genaamd“`ro˜ot'“en“een“gro˜ep“genaamd“`bin';‘\ het“k‘˙qĐan“alleen“do˜orŽĄrošGot–Ŕăw¸čorden“b˜esc•¸čhrev“en–Ŕă(gewijzigd),‘ŰÓmaar“do˜or“iedereen“wš¸čorden“gelezen“of“uitgev˜oGerd.‘´ČDit“is“een“t˜ypisc˜heŽĄeigenaarscš¸čhap–žÄen“set“pGermissies“v˜oGor“een“v˜oGorge€ďnstalleerd“systeemcommando.‘?bOp“een“aan˜tal“Unixes“bGestaatŽĄde–üh`bin'“grošGep“om“systeemcommando's“te“gro˜ep˜eren“(de“naam“is“een“historiscš¸čh“o˜v˜erblijfsel,‘&een“afk˜orting“v‘˙qĐanŽĄ`binary').‘J”Het–ŕ[k›˙qĐan“zijn“dat“er“onder“jou¸čw“Unix“in“plaats“daarv˜an“een“`rošGot'“gro˜ep“w¸čordt“gebruikt“(niet“geheelŽĄhetzelfde–U als“de“`roGot'“gebruik¸čer!).ŽŚDe–á•`roGot'“gebruikš¸čer“is“de“con˜v˜en˜tionele“naam“v˜oGor“n˜umeriek“gebruik˜er“ID‘á/0,›Dłeen“spGeciaal,˜accoun¸čt“metŽĄprivileges–§wš¸čaarmee“alle“andere“privileges“kunnen“w˜orden“o˜v˜erheerst.‘7ĽRo•Got-to“egang–§is“handig“maar“gev‘˙qĐaarlijk;ŽĄeen› t•¸čypisc“he˜fout,‘Œ als˜je˜als˜ro•Got˜b“en•¸čt˜ingelogd,‘Œ k‘˙qĐan˜kritiek“e˜systeem“bGestanden˜in˜de˜w“ar˜sc“hoppGen˜w“at˜metŽĄhetzelfde–U commando,“uitgevš¸čoGerd“met“een“gew˜oGon“gebruik˜ersaccoun˜t,“niet“k‘˙qĐan.ŽŚOmdat–™het“roGot-accounš¸čt“zo“krac˜h˜tig“is,‘ˇçis“w˜aakzaamheid“bij“de“tošGegang“erto˜e“geb˜o˜den.‘/ţJe“ro˜ot-w•¸čac“h“t“w“o˜ord‘™isŽĄhet–ę enige“meest“kritiekš¸če“stukje“bGev˜eiligingsinformatie“op“je“systeem,‘˙íen“dat“is“w˜at“alle“crac˜k˜ers“en“indringers,ŽĄdie–U ošGoit“zullen“k¸čomen,“zullen“prob˜eren“te“v¸čerkrijgen.ŽŚ(o•¸čv“er›Ř#w“ac“h“t“w“oGorden:‘w†Sc“hrijf˜ze˜niet˜op˜˜en˜kies˜geen˜w“ac“h“t“w“oGorden˜uit˜die˜makk“elijk˜te˜raden˜zijn,‘řăzoalsŽĄde–É;vš¸čoGornaam“v‘˙qĐan“je“vriendin/vriend/ec˜h˜tgenote.‘ÍŇDit“is“een“v˜erbazingw˜ekk˜ende“algemene“slec˜h˜te“gew˜oGon˜teŽĄw•¸čaarmee›’ˆcrac“k“ers˜w“orden˜geholpGen...).‘)ˇIn˜het˜algemeen,‘Ąâkies˜geen˜w“oGord˜uit˜het˜w“ošGorden“b˜o˜ek;‘ą;er–’ˆzijn“pro-ŽĄgramma's–ľÎgenaamd“`w•¸čošGorden“b˜o˜ekkrak“ers'–ľÎdie“naar“w•¸čaarsc“hijnlijk“e‘ľÎw“ac“h“t“w“o˜orden‘ľÎzo˜ek“en–ľÎdo˜or“w¸čo˜ordenlijstenŽĄmet–Śalgemene“k¸čeuzes“došGor“te“nemen.‘7!Een“go˜ede“tec¸čhniek“b˜estaat“uit“een“com¸čbinatie“v‘˙qĐan“een“b˜estaand“w¸čo˜ord,ŽĄeen–7cijfer,›=een“ander“w¸čoGord,˜zoals“`shark6cider'“of“`jump3još¸čy';‘Adat“zal“er“v˜ošGor“zorgen“dat“de“zo˜ekruimš¸čte“v˜oGorŽĄeen‘PĐw•¸čošGorden“b˜o˜ekkrak“er–PĐte“gro˜ot“is.‘pMaak“ec•¸čh“ter–PĐgeen“gebruik“v‘˙qĐan“deze“v¸čo˜orb˜eelden““crac•¸čk“ers–PĐzouden“daarŽĄv‘˙qĐanš¸čuit–U kunnen“gaan“en“ze“in“h˜un“w˜o•Gorden˜b“o“ek˜en–U kunnen“plaatsen.ŽŚLaten–U wš¸če“n˜u“eens“een“derde“situatie“bGekijk˜en:ŽŸ´ĺ‘Ĺsnark:~$–šNls“-ld“~Ž¤ Š=‘drwxr-xr-x–šN89“esr‘!"users‘3öZ9216“Jun“27“11:29“/home2/esrŽĄ‘snark:~$ŽŸŘźšDit–ż‹bšGestand“is“een“directory“(merk“de“`d'“op“in“het“eerste“p˜ermissie“slot).‘°ÁW‘˙*¸e“zien“dat“het“alleen“do˜or“esrŽ¤ Žk‘˙qĐan–U wš¸čorden“bGesc˜hrev˜en,“maar“doGor“alle“anderen“k‘˙qĐan“w˜orden“gelezen“en“uitgev˜oGerd.ŽŚLeespGermissie–fgeeft“je“de“mogelijkheid“de“directory“wš¸čeer“te“gev˜en““dat“wil“zeggen,‘(‹de“namen“v‘˙qĐan“bGestandenŽĄen–d?directory's“die“erin“staan“te“zien.‘žŢSc¸čhrijfpšGermissie“geeft“je“de“mogelijkheid“b˜estanden“in“de“directoryŽĄaan–¸ite“makš¸čen“en“te“v˜erwijderen.‘›[Als“je“je“een“lijst“namen“v‘˙qĐan“bšGestanden“en“sub˜directory's“in“de“directoryŽĄherinnert,–U zijn“deze“regels“b•Gegrijp“elijk.ŽŽŽŒ‹üT Ű_2 ý ~?Ÿ„€ŐÁGŽż11.‘ń8Ho•QÂe›Őb“ew•Ž>aart˜mijn˜computer˜zak“en˜op˜disk?’Ř;pš14ŽŽ ՁÁ ýVŻExecute-pšGermissie–Ľ#op“een“directory“b˜etek•¸čen“t–Ľ#dat“je“via“de“directory“b˜estanden“en“daaronderliggende“direc-Ž¤ Žtory's–śpkun¸čt“opšGenen.‘<›Als“resultaat“geeft“het“je“p˜ermissie“de“ino˜des“in“de“directory“te“b˜enaderen.‘<›Een“directoryŽĄmet–U de“execute-bit“vš¸čolledig“uitgesc˜hak˜eld“zou“n˜utteloGos“zijn.ŽŠŘźZo–ĆĽnš¸ču“en“dan“zal“je“een“directory“tegenk˜omen“die“v˜oGor“iedereen“leesbaar,‘ă$maar“niet“v˜oGor“iedereen“uitv˜oGerbaarŽĄis;‘Hňdit›BŰbGetek•¸čen“t˜dat˜een˜willek“eurige˜gebruik“er˜alleen˜bij˜de˜daaronder˜liggende˜bGestanden˜en˜directory's˜k‘˙qĐanŽĄkš¸čomen–U als“het“de“exacte“namen“k˜en˜t“(de“directory“k‘˙qĐan“niet“w˜orden“w˜eergegev˜en).ŽŚHet–|Ćis“bGelangrijk“eraan“te“denkš¸čen“dat“lees,‘¨ sc˜hrijf-“of“pGermissie“om“uit“te“v˜oGeren“op“een“directory“onafhank˜elijkŽĄstaat–’‹v‘˙qĐan“de“b•Gestandsp“ermissies–’‹en“daaronderliggende“directory's.‘)ÂIn“het“bijzonder“bšGetek•¸čen“t‘’‹sc“hrijfto˜egangŽĄop–ĺ[een“directory“dat“je“nieu•¸čw“e–ĺ[bGestanden“erin“aan“kunš¸čt“mak˜en“en“bšGestaande“b˜estanden“kunš¸čt“v˜erwijderen,ŽĄmaar–U het“geeft“je“niet“automatiscš¸čh“sc˜hrijftošGegang“tot“b˜estaande“b˜estanden.ŽŚLaten–U wš¸če“als“laatste“eens“kijk˜en“naar“de“pGermissies“v‘˙qĐan“het“login-programma.ŽŸ´ĺ‘Ĺsnark:~$–šNls“-l“/bin/loginŽŸ Š=‘-rwsr-xr-x‘+ę1›šNroot–ž†bin“20164˜Apr˜17˜12:57˜/bin/loginŽŸŘźšDit–Ďheeft“de“pGermissies“zoals“wš¸če“ze“zouden“v˜erw˜ac˜h˜ten“v‘˙qĐan“een“systeemcommando““bGehalv˜e“dan“die“`s',‘ééw˜aarŽĄde–Äexecute-bit“v›˙qĐan“de“eigenaar“zou“moGeten“staan.‘X Dit“is“de“zic•¸čh“tbare–Ämanifestatie“v˜an“een“spšGeciale“p˜ermissieŽĄgenaamd–U de“`set-user-id'“of“Âsetuid‘“°bit‘ňÉš.ŽŚDe–ůçsetuid“bit“is“normaliter“vš¸čerbGonden“met“programma's“die“gew˜one“gebruik˜ers“rošGot-privileges“to˜e“mo˜etenŽĄkš¸čennen,‘€ýmaar–x7dan“op“een“gecon˜troleerde“wijze.‘ÚĹAls“het“op“een“uitv˜oGerbaar“programma“is“ingesteld,‘€ýkrijg“jeŽĄde–(¸privileges“v›˙qĐan“de“eigenaar“v˜an“dat“programmabGestand“terwijl“het“programma“namens“jou“draait,‘1™of“'t“n¸čuŽĄwš¸čel–U of“niet“met“jou“o˜v˜ereenk˜om˜t.ŽŚNet–f’als“het“roGot-accoun¸čt,‘–Hzijn“setuid“programma's“handig“maar“gev‘˙qĐaarlijk.‘!üIedereen“die“een“setuid“programmaŽĄmet–{Dals“eigenaar“rošGot,‘ŚÖk‘˙qĐan“v•¸čerw“erp˜en–{Dof“k›˙qĐan“wijzigen,‘ŚÖk˜an“het“gebruikš¸čen“om“een“shell“met“roGot-privileges“v˜oGortŽĄte–ŻGbrengen.‘:8Om“deze“reden,›Đsw¸čordt“op“de“meeste“Unixes“het“setuid-bit“uitgezet,˜als“het“bšGestand“v¸čo˜or“sc•¸čhrijv“enŽĄwš¸čordt–§DgeopGend.‘gíV‘˙*¸eel“aan˜v‘˙qĐallen“op“de“Unix-bGev˜eiliging“probGeren“bugs“te“exploiteren“in“setuid“programma'sŽĄom–Ř7ze“te“kunnen“v•¸čerw“erpšGen.‘GÝBev“eiligings–Ř7b˜ewuste“systeem¸čb˜eheerders“zijn“daarom“extra“v•¸čo˜orzic“h“tig–Ř7met“dezeŽĄprogramma's–U en“installeren“met“tegenzin“nieu•¸čw“e‘U programma's.ŽŚEr–j4zijn“een“paar“bGelangrijkš¸če“details“die“w˜e“v˜erdošGezelde“to˜en“wš¸če“hierv˜ošGor“de“p˜ermissies“b˜esprak¸čen;‘¸ƒnamelijk“ho˜eŽĄde–)?eigenaar“en“de“pšGermissies“v‘˙qĐan“de“gro˜ep“w¸čorden“to˜egek•¸čend,‘2w“anneer–)?een“b˜estand“of“directory“v¸čo˜or“'t“eerstŽĄwš¸čordt–f4aangemaakt.‘!ÝDe“groGep“is“een“probleem“omdat“gebruik˜ers“deel“uit“kunnen“mak˜en“v‘˙qĐan“meerdere“gro•Gep“en,ŽĄmaar–BЀé€én“daarv›˙qĐan“(aangegev¸čen“in“het“record“v˜an“de“gebruik¸čer“in“Ă/etc/passwdš)“is“de“Âstandaar–˙}/dgr“o“ep‘ä^šv˜an‘BĐdeŽĄgebruikš¸čer–U en“hierin“zullen“normaal“gesprok˜en“de“bšGestanden“staan“die“do˜or“de“gebruik¸čer“zijn“aangemaakt.ŽŚHet–bČv¸čerhaal“met“initi€ďle“pšGermissie-bits“is“iets“gecompliceerder.‘ ¸Een“programma“dat“een“b˜estand“aanmaakt,‘“@zalŽĄer–QŸom“te“bšGeginnen“de“p˜ermissies“aan“to˜ek¸čennen.‘Maar“deze“zullen“do˜or“een“v‘˙qĐariab˜ele“in“de“gebruik¸čersomgevingŽĄmet–#cde“naam“Âumask‘6ŕšwš¸čorden“gewijzigd.‘ÜIDe“umask“geeft“aan“w˜elk˜e“pGermissie-bits“w˜orden“Âuitgezet‘,šals“eenŽĄbGestand–OMwš¸čordt“aangemaakt;‘Q>de“meest“algemene“w˜aarde,›Pwen“op“de“meeste“systemen“de“standaard,˜is“-w-ŽĄof–ü]002,‘&-wš¸čaarmee“de“w˜orld-write“bit“w˜ordt“uitgezet.‘g8Zie“de“doGcumen˜tatie“v‘˙qĐan“het“umask“commando“in“deŽĄmanš¸čual-page–U v‘˙qĐan“je“shell“v˜oGor“details.ŽŚDe–ƒžiniti€ële“directorygrošGep“is“o˜ok“wš¸čat“gecompliceerd.‘+ľOp“een“aan˜tal“Unix-systemen“krijgt“een“nieu˜w˜e“directoryŽĄde–˘ŇstandaardgroGep“v‘˙qĐan“de“gebruikš¸čer“die“het“aanmaakt“(dit“is“de“System“V‘˘žcon˜v˜en˜tie);‘ÉŤop“andere“systemenŽĄkrijgt–‡pde“directory“als“eigenaar“de“groGep“v‘˙qĐan“de“parenš¸čt-directory“w˜aarin“het“is“aangemaakt“(dit“is“de“BSD-ŽĄcon•¸čv“en“tie).‘żuOp–oeen“aanš¸čtal“moGderne“Unixen,‘u›w˜aaronder“Lin˜ux,‘u›k‘˙qĐan“die“laatste“w˜orden“geselecteerd“doGor“hetŽĄinstellen–U v‘˙qĐan“de“set-group-ID“op“de“directory“(c¸čhmoGd“g+s).ŽŚEr–›}is“een“nš¸čuttige“discussie“o˜v˜er“b•Gestandsp“ermissies–›}in“het“artik˜el“v‘˙qĐan“eric“Go•Geb“elb“ec˜k˜er‘›}ÂT‘˙;Čake‘żđCommandŽĄĂš.ŽŽŽŒ‹e Ű_2 ý ~?Ÿ„€ŐÁGŽż12.‘ń8HoQÂe›Őw•Ž>erk“en˜computertalen?’&łUš15ŽŽ ՁÁ ýVŻÁ11.6Ž‘%}¨Ho_úe–¸het“mis“k‘˙@ an“gaanŽŸMލšEerder–˙qlieten“wš¸če“doGorsc˜hemeren“dat“bGestandssystemen“kw˜etsbare“zak˜en“kunnen“zijn.‘ptNu“w˜eten“w˜e“dat“jeŽ¤ Žje–Ş•doGor“iets“wš¸čat“een“willek˜eurig“lange“reeks“directory“en“i-noGde“v˜erwijzingen“k‘˙qĐan“zijn,‘żňmošGet“mano˜euvreren.ŽĄV‘˙*¸eronderstel–U nš¸ču“dat“je“harddisk“een“slec˜h˜te“plek“on˜t˜wikk˜elt?ŽŠŘźAls–“Ije“geluk“hebt,‘şzullen“er“alleen“maar“wš¸čat“bGestandsgegev˜ens“bGesc˜hadigd“rak˜en.‘0äAls“je“geen“geluk“hebt,‘şis“hetŽĄmogelijk–TÜdat“een“directorystructuur“of“i-noGde“nš¸čummer“w˜ordt“v˜erknoGeid“en“een“v˜olledige“subtree“v‘˙qĐan“je“systeemŽĄin–Ő het“niets“terec•¸čh“tk“om“t–Ő “of“nog“erger,‘î§in“een“v¸čerknoGeide“structuur“resulteert“die“op“meerdere“manieren“naarŽĄhetzelfde–ÍÓdiskblok“of“een“inošGde“v•¸čerwijst.‘DgDergelijk“e–ÍÓcorruptie“k‘˙qĐan“do˜or“normale“b˜estandsb˜ewš¸čerkingen“w˜ordenŽĄvš¸čerspreid,–U doGor“gegev˜ens“te“ru€ďneren,“w˜elk˜e“zic˜h“niet“op“de“originele“slec˜h˜te“plek“bGev˜onden.ŽŚGelukkig,‘”Xzijn–‡łdit“sošGort“on•¸čv“o˜orziene–‡łomstandigheden“heel“ongew¸čo˜on“gewš¸čorden,‘”Xaangezien“diskhardw˜are“bGe-ŽĄtrouš¸čwbaarder–żçis“gew˜orden.‘ąÖNog“steeds“bGetek˜en˜t“het“dat“je“Unix“een“p•Gerio“diek˜e–żçin˜tegriteits-con˜trole“uit“zalŽĄwillen–ż‹v¸čošGeren“op“het“b˜estandssysteem“om“er“zekš¸čer“v‘˙qĐan“te“zijn“dat“er“niks“aan“sc˜heelt.‘?¤MoGderne“Unixes“v˜oGerenŽĄop–Éçiedere“partitie“tijdens“het“opstarten“vlak“vš¸čoGor“het“moun˜ten“een“snelle“in˜tegriteits-con˜trole“uit.‘CIedere“paarŽĄreb•Go“ots›U do“en˜ze˜een˜v•¸čeel˜grondiger˜con“trole˜die˜een˜paar˜min“uten˜langer˜in˜bGeslag˜neem“t.ŽŚAls–ç0dit“alles“klinkt“alsof“Unix“v•¸čersc“hrikk“elijk–ç0complex“en“v›˙qĐatbaar“v¸čoGor“storingen“is,‘ ´k˜an“het“geruststellendŽĄzijn–ďßte“wš¸četen“dat“deze“opstartcon˜troles“k˜enmerk˜end“normale“problemen“afv‘˙qĐangen“en“corrigeren“Âvo–˙}/or“dat‘⨚zeŽĄec•¸čh“t› zno•Go“dlottig˜w¸čorden.‘XôAndere˜b“esturingssystemen˜hebb“en˜deze˜faciliteiten˜niet,‘5w¸čat˜het˜b“o“oten˜een˜b“eetjeŽĄvš¸čersnelt,‘‡Űmaar–}śje“v˜eel“serieuzer“onder“pressie“zet“als“je“probGeert“met“de“hand“te“herstellen.‘ëA(en“in“de“eersteŽĄplaats–U in“de“vš¸čeronderstelling“dat“je“een“k˜opie“v‘˙qĐan“de“Norton“Utilities“of“iets“dergelijks“hebt...).ŽŸ(Ŕœž12Ž‘Ź%Hopœe›G\w•cerk“en˜computertalen?ŽŸż:šW‘˙*¸e–؅hebbšGen“reeds“b˜esprok¸čen“6“(ho˜e“programma's“w•¸čerk“en).‘G÷Ieder–؅programma“mo˜et“uiteindelijk“als“een“stro˜omŽĄb¸čytes,›Ďrdie–śűuit“instructies“in“de“Âmachinetaal‘żršv‘˙qĐan“je“computer“bGestaan,˜wš¸čorden“uitgev˜oGerd.‘—Maar“menselijk˜eŽĄwš¸čezens–C‘kunnen“niet“zo“erg“goGed“met“mac˜hinetaal“o˜v˜erw˜eg;‘Ildit“is“inmiddels“zelfs“onder“hac˜k˜ers“een“zeldzameŽĄzw¸čarte‘U magie.ŽŚBijna–ôűalle“Unix“cošGde“b˜ehalv¸če“een“kleine“ho˜evš¸čeelheid“directe“hardw˜are-in˜terface“ondersteuning“in“de“k˜ernelŽĄzelf–vis“tegen•¸čw“oGordig›vgesc“hrev“en˜in˜een˜Âho–˙}/ger“e‘źzpr“o“gr“amme“ertaal‘wš.‘ö‚(Het˜`hogere'˜in˜deze˜term˜is˜een˜historisc¸čhŽĄo•¸čv“erblijfsel–Aom“het“te“onderscš¸čheiden“v‘˙qĐan“`lagere'“Âassemble‘˙}/ertalen‘ÄUš,‘GÉw˜at“in“w˜ezen“doGorzic˜h˜tige“v˜erpakkingenŽĄom–U mac¸čhinecoGde“heen“zijn.)ŽŚEr–m{zijn“v•¸čersc“heidene›m{v“ersc“hillende˜soGorten˜hogere˜programmeertalen.‘$JT‘˙*¸eneinde˜hiero“v“er˜te˜kunnen˜meepraten,ŽĄis–vhet“handig“om“in“gedac•¸čh“ten–vte“houden“dat“de“Âbr–˙}/onc“o“de‘6fšv‘˙qĐan–veen“programma“(de“doGor“de“mens“gemaakte,ŽĄte–łčwijzigen“vš¸čersie)“een“soGort“v˜ertaalslag“moGet“ondergaan“naar“mac˜hinecošGde“om“het“do˜or“de“mac¸čhine“uit“teŽĄkunnen–U laten“v¸čoGeren.ŽŸ#͍Á12.1Ž‘%}¨Gecompileerde‘¸programmeertalenŽŸMލšDe–Ŕmeest“gebruik•¸čelijk“e–ŔsoGort“programmeertaal“is“een“Âge–˙}/c“ompile“er“de‘ö“pr“o“gr“amme“ertaal‘wš.‘łöGecompileerde‘ŔtalenŽĄwš¸čorden–ŕomgezet“naar“uitv˜ošGerbare“b˜estanden“met“uitv¸čo˜erbare“mac¸čhineco˜de“do˜or“een“sp˜eciaal“programma“datŽĄ(logiscš¸čh–7ĹgenoGeg)“een“Âc‘˙}/ompiler‘KBšw˜ordt“genoGemd.‘nAls“het“uitv˜ošGerbare“b˜estand“€é€énmaal“is“aangemaakt,‘pnkunŽĄje–ěęhet“direct“opstarten“zonder“nog“naar“de“sourcecoGde“te“kijkš¸čen.‘8Ţ(De“meeste“soft˜w˜are“w˜ordt“gelev˜erd“metŽĄgecompileerde–U uitv¸čošGerbare“b˜estanden“aangemaakt“aan“de“hand“v‘˙qĐan“co˜de“die“je“niet“ziet.)ŽŚGecompileerde–ćlprogrammeertalen“gevš¸čen“een“uitstek˜ende“pšGerformance“en“hebb˜en“complete“to˜egang“tot“hetŽĄOS,–U maar“zijn“ošGok“mo˜eilijk“om“in“te“programmeren.ŽŚC,–-gde“programmeertaal“wš¸čaarin“Unix“zelf“is“gesc˜hrev˜en,‘5Yis“hierv‘˙qĐan“v˜errew˜eg“de“bGelangrijkste“(met“z'n“v‘˙qĐarian˜tŽŽŽŒ‹#Đ Ű_2 ý ~?Ÿ„€ŐÁGŽż13.‘ń8HoQÂe–ŐwšŽ>erkt“het“In˜ternet?’9,Řš16ŽŽ ՁÁ ýVŻC++).‘Ť0Fš¸čOR‘˙*¸TRAN‘Ôis–een“andere“gecompileerde“programmeertaal,‘Bnog“steeds“in“gebruik“doGor“tec˜hnici“enŽ¤ Žw•¸četensc“happGers,‘öńmaar–֔jaren“ouder“en“vš¸čeel“primitiev˜er.‘őÜIn“de“Unix“w˜ereld“zijn“er“in“bGelangrijk˜e“mate“geenŽĄandere–‹ügecompileerde“programmeertalen“in“gebruik.‘Daarbuiten“wš¸čordt“COBOL‘‹îop“v˜elerlei“gebied“gebruiktŽĄvš¸čoGor–U nanci€ële“en“zak˜elijk˜e“soft˜w˜are.ŽŠŘźEr– wš¸čerden“v˜eel“andere“gecompileerde“programmeertalen“gebruikt,‘"Şmaar“de“meeste“daarv‘˙qĐan“zijn“uitgestorv˜enŽĄof–I\zijn“strikte“onderzoGekshš¸čulpmiddelen.‘N5Als“je“een“nieu˜w˜e“Unix“on˜t˜wikk˜elaar“bGen˜t“die“een“gecompileerdeŽĄprogrammeertaal–U gebruikt,“zal“dit“zeer“w•¸čaarsc“hijnlijk–U C“of“C++“zijn.ŽŸ#͍Á12.2Ž‘%}¨Ge€ďn terpreteerde‘¸talenŽŸMލšEen›.čÂge€ďnterpr–˙}/ete“er“de‘p‡pr“o“gr“amme“ertaal‘7_šis˜afhank•¸čelijk˜v‘˙qĐan˜een˜in“terpreter˜programma˜dat˜de˜broncoGde˜inleestŽĄen–ľMvš¸čertaalt“in“bGerek˜eningen“en“system“calls.‘<:De“bron“moGet“iedere“k˜eer“dat“de“coGde“w˜ordt“uitgev˜oGerd,‘ŐDopnieu˜wŽĄw•¸čorden›U ge€ďn“terpreteerd˜(en˜de˜in“terpreter˜moGet˜aan“w“ezig˜zijn).ŽŚGe€ďn¸čterpreteerde–íUprogrammeertalen“hebbšGen“de“neiging“langzamer“te“zijn“dan“gecompileerde“talen“en“hebb˜enŽĄv‘˙qĐaak›7b•Gep“erkte˜to“egang˜tot˜het˜onderliggende˜b“esturingssysteem˜en˜de˜hardw•¸čare.‘_ˆAan˜de˜andere˜k‘˙qĐan“t˜zijn˜zeŽĄgeric•¸čh“t–ޞop“gemakk•¸čelijk“er–ޞprogrammeren“en“v¸čergevingsgezinder“bšGetreft“co˜deerfouten“dan“gecompileerde“talen.ŽŚV‘˙*¸eel–>dUnix“utilitš¸čy's,‘Bđinclusief“de“shell“en“bGc(1)“en“sed(1)“en“a˜wk(1),‘Bđzijn“doGeltreende“kleine“ge€ďn˜terpreteerdeŽĄtalen.‘ÚBASIC‘wőv‘˙qĐarianš¸čten–wţzijn“gew˜oGonlijk˜e“ge€ďn˜terpreteerde“talen.›ÚZo“oGok“T‘˙*¸cl.˜Historisc¸čh“gezien,‘€śis“de“bGelan-ŽĄgrijkste–śíge€ďnš¸čterpreteerde“programmeertaal“LISP‘śÔgew˜eest“(een“bGelangrijk˜e“v˜erbGetering“ten“opzic˜h˜te“v‘˙qĐan“zijnŽĄmeeste›>op•¸čv“olgers).‘VŠT‘˙*¸egen“w“oGordig˜w“ordt˜P“erl˜op˜v“elerlei˜gebied˜gebruikt˜en˜win“t˜zo˜langzamerhand˜meer˜aanŽĄpGopulariteit.ŽŸ#͍Á12.3Ž‘%}¨P-co_úde‘¸talenŽŸMލšSinds– ň1990“is“een“soGort“hš¸čybride“programmeertaal“die“zo˜w˜el“v‘˙qĐan“compilatie“als“in˜terpretatie“gebruik“maakt,ŽĄin–Q(tošGenemende“mate“b˜elangrijk“gew¸čorden.‘e™Bij“P-co˜de“programmeertalen“w¸čordt“net“als“bij“gecompileerdeŽĄprogrammeertalen–)de“bron“vš¸čertaald“naar“een“compacte“uitv˜ošGerbare“b˜estandsvš¸čorm,‘Akhetgene“w˜at“je“in“feiteŽĄuitvš¸čoGert,‘č5maar–Ěúdie“v˜orm“is“geen“mac˜hinecoGde.‘DIn“plaats“daarv‘˙qĐan“is“het“Âpseudo–˙}/c“o“de‘Iš(of›ĚúÂp-c“o“de‘ŔOš),‘č5die˜gew¸čoGonlijkŽĄv•¸čeel›jFeen“v“oudiger˜maar˜krac“h“tiger˜is˜dan˜ec“h“te˜mac“hinetaal.‘°ńAls˜je˜het˜programma˜draait,‘oin“terpreteer˜je˜deŽĄp-coGde.ŽŚP-coGde–ÄŰk‘˙qĐan“bijna“zo“snel“wš¸čorden“uitgev˜oGerd“als“een“gecompileerd“uitv˜ošGerbaar“b˜estand“(p-co˜de“in¸čterpretersŽĄkunnen–§zeer“een•¸čv“oudig,‘žHklein–§en“snel“zijn)“Maar“p-coGde“programmeertalen“kunnen“de“exibiliteit“en“krac•¸čh“tŽĄv‘˙qĐan–U een“gošGede“in¸čterpreter“b˜ehouden.ŽŚBelangrijkš¸če–U p-coGde“talen“zijn“onder“andere“Python“en“Ja˜v‘˙qĐa.ŽŸ(Ŕœž13Ž‘Ź%Hopœe–G\wšcerkt“het“In˜ternet?ŽŸż:šOm–oĺje“te“helpšGen“b˜egrijp˜en“ho˜e“het“Inš¸čternet“w˜erkt,‘˝zullen“w˜e“datgene“bGekijk˜en“w˜anneer“je“een“t˜ypisc˜he“In˜ternetŽĄop•Geratie›Qąuitv¸čo“ert˜˜˜een˜bro•¸čwser˜ric“h“tend˜op˜de˜v“o•Gorpagina˜v‘˙qĐan˜dit˜do“cumen•¸čt˜op˜z'n˜th“uisbasis˜op˜het˜w“ebŽĄbij–U het“Linš¸čux“DoGcumen˜tatie“pro‘Ž0ject.‘q€Dit“doGcumen˜t“isŽ¤ŘźĂhttp://metalab.unc.edu/LDP/HOWTO/Fundamentals.htmlŽĄšw•¸čat›LôbGetek“en“t˜dat˜het˜v“oGork“om“t˜in˜het˜bGestand˜LDP/HO“WTO/F‘˙*¸undamen“tals.h“tml˜onder˜de˜W‘˙*¸orld˜WideŽŸ ŽW‘˙*¸eb–U expGort-directory“v‘˙qĐan“de“host“metalab.unc.edu.ŽŽŽŒ‹6Ÿ Ű_2 ý ~?Ÿ„€ŐÁGŽż13.‘ń8HoQÂe–ŐwšŽ>erkt“het“In˜ternet?’9,Řš17ŽŽ ՁÁ ýVŻÁ13.1Ž‘%}¨Namen–¸en“lok‘˙@ atiesŽŸMލšHet–Œeerste“wš¸čat“je“bro˜wser“mošGet“do˜en“is“een“net•¸čw“erkv“erbinding–Œtot“stand“brengen“met“de“computer“w¸čaarop“hetŽ¤ ŽdošGcumen•¸čt‘Óv“o˜ork“om“t.‘F"Om–Ódat“te“kunnen“do˜en,‘í mo˜et“het“eerst“de“net•¸čw“erklok–˙qĐatie›Óv“an˜de˜Âhost‘ĹĎšmetalab.unc.eduŽĄtraceren–đ&(`host'“is“een“afkš¸čorting“v˜oGor“`host“mac˜hine'“of“`net˜w˜erk“host';‘˝Šmetalab.unc.edu“is“een“t˜ypisc˜heŽĄÂhostname‘ŔOš).‘ěsDe–ÓqcorrespGonderende“lok‘˙qĐatie“is“in“w•¸čerk“elijkheid–Óqeen“nš¸čummer“dat“een“ÂIP-adr‘˙}/es‘Ľ†šw˜ordt“genoGemdŽĄ(het–U `IP'“deel“v‘˙qĐan“deze“term“w¸čordt“later“uitgelegd).ŽŠŘźOm–ţdit“te“doGen,‘(9ondervraagt“je“broš¸čwser“een“programma“dat“een“Âname-server‘~šw˜ordt“genoGemd.‘l#De“name-ŽĄservš¸čer–?­k‘˙qĐan“zic˜h“op“je“computer“bGevinden,‘C÷maar“het“is“w˜aarsc˜hijnlijk˜er“dat“het“draait“op“een“service“mac˜hineŽĄwš¸čaarmee–§;de“jou˜w˜e“comm˜uniceert.‘gŇAls“je“je“bij“een“ISP‘§&aanmeldt,‘ťÂzal“een“deel“v‘˙qĐan“je“setupproGcedure“bijnaŽĄzekš¸čer–Łinhouden“dat“je“In˜ternet“soft˜w˜are“het“IP-adres“v‘˙qĐan“een“name-serv˜er“op“het“net˜w˜erk“v‘˙qĐan“de“ISP‘bGek˜endŽĄw¸čordt‘U gemaakt.ŽŚDe–ţname-servš¸čers“op“v˜ersc˜hillende“computers“praten“met“elk‘˙qĐaar“o˜v˜er“alle“informatie“die“noGdig“is“om“hostnamenŽĄte–^herleiden,‘`Tuit“te“wisselen“en“up“to“date“te“houden“(ze“in“te“delen“naar“IP‘^adressen).‘ŒcHet“zou“kunnen“datŽĄje–łname-servš¸čer“drie“of“vier“v˜ersc˜hillende“sites“in“het“net˜w˜erk“ondervraagt“tijdens“het“herleidingsproGces“v‘˙qĐanŽĄmetalab.unc.edu,–U maar“dit“gebšGeurt“gew¸čo˜onlijk“erg“snel“(in“minder“dan“een“seconde).ŽŚDe–NQname-servš¸čer“zal“je“bro˜wser“laten“w˜eten“dat“het“IP‘NOadres“v‘˙qĐan“Metalab“152.2.22.81“is;‘P–n˜u“het“dit“w˜eet,‘O­zalŽĄje–U computer“in“staat“zijn“om“op“directe“wijze“bits“met“metalab“uit“te“wisselen.ŽŸ#͍Á13.2Ž‘%}¨P• ac“k“ets–¸en“routersŽŸMލšW›˙*¸at–de“bro¸čwser“wil“doGen“is“een“commando“naar“de“W˜ebservš¸čer“op“Metalab“zenden“dat“er“ongev˜eer“zo“uitziet:Ž¤ŘźĂGET–?Ź/LDP/HOWTO/Fundamentals.html“HTTP/1.0ŽĄšDit–IÍis“wš¸čat“er“gebGeurt.‘eHet“commando“w˜ordt“v˜eranderd“tot“een“Âp‘˙}/akket‘ňÉš,‘Deen“blok“bits“zoals“een“telegram“dat“metŽ¤ Ždrie–O˘bGelangrijkš¸če“zak˜en“w˜ordt“ingepakt;‘Qwhet“Âbr–˙}/onadr“es‘!ˇš(het–O˘IP-adres“v‘˙qĐan“je“computer),‘Pťhet“Âb–˙}/estemmingsadr“esŽĄš(152.2.22.81),‘Ě2en–Šöeen“Âservic›˙}/e-nummer‘˝sšof“Âp˜o˜ortnummer‘˝sš(80,‘Ě2in“dit“gev‘˙qĐal)“dat“aangeeft“dat“het“een“W‘˙*¸orld“WideŽĄW‘˙*¸eb–U v¸čerzoGek“is.ŽŚJe–Tucomputer“seinš¸čt“het“pakk˜et“o˜v˜er“(via“een“moGdem“v˜erbinding“naar“je“ISP‘˙*¸,“of“lok‘˙qĐale“net˜w˜erk)“totdat“het“bijŽĄeen–ýgespšGecialiseerde“computer“aank•¸čom“t,‘°die–ýeen“Âr‘˙}/outer‘‘šw¸čordt“geno˜emd.‘T'De“router“heeft“een“indeling“v‘˙qĐan“hetŽĄInš¸čternet–Ňin“zijn“geheugen““niet“altijd“compleet,‘maar“€é€én“die“je“net˜w˜erk˜omgeving“v˜olledig“bGesc˜hrijft“en“w˜eetŽĄhošGe–U het“bij“de“routers“in“andere“omgevingen“op“het“In¸čternet“mo˜et“k¸čomen.ŽŚJe–;\pakkš¸čet“k‘˙qĐan“v˜ersc˜heidene“routers“passeren“op“w˜eg“naar“zijn“bGestemming.›$4Routers“zijn“slim.˜Ze“kijk¸čenŽĄhošGelang– Űhet“duurt“v¸čo˜or“andere“routers“b˜ean•¸čt“w“o˜orden– Űdat“ze“een“pakk¸čet“hebb˜en“onš¸čtv‘˙qĐangen.‘YžZe“gebruik˜en“dieŽĄinformatie– om“het“v•¸čerk“eer– via“snelle“links“te“adresseren.‘V#Ze“gebruik¸čen“het“om“op“de“hoGogte“te“zijn“als“andereŽĄrouters–úF(of“een“k›˙qĐabGel)“v˜an“het“net•¸čw“erk–úFzijn“uitgev˜allen,‘ qen“compšGenseren“dit“zo“mogelijk“do˜or“het“zo˜ek¸čen“naarŽĄeen–U andere“route.ŽŚEr–`is“een“stedelijkš¸če“legende“die“zegt“dat“het“In˜ternet“is“on˜t˜w˜orpGen“om“een“n˜ucleaire“oGorlog“te“o˜v˜erlev˜en.ŽĄDit–x˘is“niet“wš¸čaar,‘Áƒmaar“het“on˜t˜w˜erp“v‘˙qĐan“het“In˜ternet“is“extreem“goGed“in“het“v˜erkrijgen“v‘˙qĐan“bGetrou˜wbareŽĄpGerformance–HIbuiten“oncon•¸čv“en“tionele›HIhardw“are˜in˜een˜onzek“ere˜w“ereld.‘m8Dit˜is˜te˜dank“en˜aan˜het˜feit˜dat˜zijnŽĄin•¸čtelligen“tie––_via“duizende“routers“in“plaats“v‘˙qĐan“een“paar“massievš¸če“sc˜hak˜elingen“(zoals“het“telefoGon-net˜w˜erk)ŽĄwš¸čordt–ŹĚgedistribueerd.‘x„Dit“bGetek˜en˜t“dat“storingen“goGed“kunnen“w˜orden“gelok‘˙qĐaliseerd“en“het“net˜w˜erk“ze“k‘˙qĐanŽĄomzeilen.ŽŚZošGdra–gje“pakk¸čet“bij“zijn“b˜estemmingsmacš¸čhine“aank˜om˜t,‘<šgebruikt“die“mac˜hine“het“service-n˜ummer“om“hetŽĄpakkš¸čet–šaan“de“w˜ebserv˜er“doGor“te“gev˜en.‘‰LDe“w˜ebserv˜er“w˜eet“w˜aarnaar“het“de“reply“mošGet“zenden“do˜or“hetŽĄbron–WÓIP-adres“v‘˙qĐan“het“pakkš¸čet“te“bGekijk˜en.‘y™Als“de“w˜ebserv˜er“dit“doGcumen˜t“retourneert,‘X€zal“het“in“een“aan˜talŽŽŽŒ‹FG Ű_2 ý ~?Ÿ„€ŐÁGŽż13.‘ń8HoQÂe–ŐwšŽ>erkt“het“In˜ternet?’9,Řš18ŽŽ ՁÁ ýVŻpakk•¸četjes›ž÷w“orden˜opgebrok“en.‘ŻDe˜groGotte˜v‘˙qĐan˜de˜pakk“etjes˜zal˜o“v“ereenk“omstig˜de˜transmissiemedia˜in˜hetŽ¤ Žnet•¸čw“erk–U en“de“soGort“service“v‘˙qĐari€ëren.ŽŸ#͍Á13.3Ž‘%}¨TCP–¸en“IPŽŸMލšOm–>]te“b•Gegrijp“en›>]ho“e˜meerdere-pakk•¸čet˜transmissies˜w“orden˜afgehandeld,‘xŹis˜het˜noGdig˜dat˜je˜w“eet˜dat˜hetŽĄInš¸čternet–U in“w˜erk˜elijkheid“t˜w˜ee“protošGcollen“gebruikt,“de“€é€én“b˜o•¸čv“enop–U de“ander“gestap˜eld.ŽŠŘźHet–3;lagere“niv•¸čeau,›:ÂIP‘9łš(In“ternet‘3;ProtoGcol),˜w“eet–3;hoGe“het“individuele“pakk¸četjes“v‘˙qĐanaf“een“bron-adres“naar“eenŽĄdo•Gel-adres›â)mo“et˜krijgen˜(daarom˜w¸čorden˜ze˜IP-adressen˜geno“emd).‘œIP‘âis˜ec•¸čh“ter˜niet˜bGetrou“wbaar;‘(Žals˜eenŽĄpakk•¸četje›•šv“erdw“aalt˜of˜zo•Gekraakt,‘Ľšk‘˙qĐan˜het˜zijn˜dat˜de˜bron-˜en˜b“estemmingsmac¸čhine˜dit˜no“oit˜zullen˜w¸četen.ŽĄIn›­Ünet•¸čw“erkjargon,‘Ä is˜IP‘­Ĺeen˜Âc–˙}/onne“ctielo“os‘ńšproto•Gcol;‘Ú9de˜zender˜stuurt˜gew¸čo“on˜een˜pakk•¸čet˜naar˜de˜on“tv‘˙qĐangerŽĄen›U v•¸čerw“ac“h“t˜geen˜bGev“estiging.ŽŚHošGe–Cidan“o˜ok,‘FôIP‘Cdis“snel“en“go˜edk¸čo˜op.‘k˜Soms“is“snel,‘Fôgo˜edk¸čo˜op“en“on•¸čb˜etrou“wbaar–CiOK.“Als“je“via“een“net•¸čw“erkŽĄDošGom–‡řof“Quak¸če“sp˜eelt,‘”Žstelt“iedere“kš¸čogel“een“IP-pakk˜etje“v˜oGor.‘ Als“een“aan˜tal“daarv‘˙qĐan“v˜erdw˜aald“rak˜en,‘”ŽisŽĄdat‘U OK.ŽŚHet›aŢbGo•¸čv“enste˜niv“eau,‘eÂTCP‘h\š(T‘˙*¸ransmission˜Con“trol˜Proto•Gcol),‘egeeft˜je˜b“etrou•¸čwbaarheid.‘—şAls˜t“w“ee˜computersŽĄeen–ŹTCP‘ŹTconnectie“tot“stand“brengen“(w¸čat“ze“došGen“do˜or“gebruik“te“makš¸čen“v‘˙qĐan“IP),“w˜eet“de“on˜tv‘˙qĐanger“dat“hetŽĄbGevš¸čestigingen–rv‘˙qĐan“de“pakk˜etjes“die“het“ziet“naar“de“zender“mošGet“terugsturen.‘WFAls“de“zender“geen“b˜ev¸čestigingŽĄte–UAzien“krijgt“binnen“een“bšGepaalde“pauzep˜erio˜de“v¸čo˜or“een“pakkš¸četje,‘UIzendt“het“dat“pakk˜etje“opnieu˜w.‘qâV‘˙*¸erderŽĄgeeft–Őćde“zender“ieder“TCP‘Ճpakkš¸čet“een“opGeen˜v˜olgend“n˜ummer,‘6w˜elk˜e“de“on˜tv›˙qĐanger“k˜an“gebruik¸čen“om“jeŽĄpakk•¸četjes›w“eer˜samen˜te˜v“oGegen˜v“oGor˜het˜gev‘˙qĐal˜ze˜niet˜in˜de˜juiste˜v“olgorde˜v“ersc“hijnen.‘ő/(Dit˜k‘˙qĐan˜gebGeurenŽĄals›U net•¸čw“erkk“oppGelingen˜gedurende˜een˜v“erbinding˜w“orden˜v“erbrok“en˜of˜hersteld).ŽŚTCP/IP‘Ž“pakk¸četjes–ŽŞbšGev‘˙qĐatten“o˜ok“een“conš¸čtrole-totaal“om“detectie“te“activ˜eren“v‘˙qĐan“gegev˜ens“die“doGor“slec˜h˜teŽĄlinks–WFzijn“bGescš¸čhadigd.‘âDus“v‘˙qĐan˜uit“het“gezic˜h˜tspun˜t“v‘˙qĐan“iemand“die“TCP/IP‘Wen“name-serv˜ers“gebruikt,‘Š lijkt“hetŽĄeen–ŽŞbGetrouš¸čwbare“manier“om“stromen“b˜ytes“tussen“hostname/service-n˜ummer“paren“doGor“te“gev˜en.‘MensenŽĄdie–×zicš¸čh“bGezig“houden“met“het“sc˜hrijv˜en“v‘˙qĐan“net˜w˜erkprotošGcollen“ho˜evš¸čen“zic˜h“bijna“nošGoit“b˜ezig“te“houden“metŽĄhet›Óv•¸čerpakk“en˜v‘˙qĐan˜informatie˜in˜pakk“etjes,‘$ăhet˜w“eer˜samen“v“oGegen˜v‘˙qĐan˜pakk“etjes,›$ăfoutencon“trole,˜con“trolerenŽĄv‘˙qĐan–U totalen,“en“hervš¸čerzending“dat“op“dat“niv˜eau“plaatsvindt.ŽŸ#͍Á13.4Ž‘%}¨HTTP‘ţŕ,–¸een“applicatieproto_úcolŽŸMލšLaten–vâwš¸če“n˜u“naar“ons“v˜o•Gorb“eeld–vâteruggaan.‘ÖĆW‘˙*¸eb“bro˜wsers“en“serv˜ers“sprek˜en“een“Âapplic–˙}/atiepr“oto“c“ol‘YšdatŽĄbGo•¸čv“enop›ěuTCP/IP‘ěNw“ordt˜uitgev“o•Gerd,‘Jdo“or˜het˜een•¸čv“oudigw“eg˜als˜een˜manier˜te˜gebruik“en˜om˜reeksen˜b“ytesŽĄheen–Yen“wš¸čeer“doGor“te“gev˜en.‘}#Dit“protoGcol“w˜ordt“ÂHTTP‘_?š(HypGer-T›˙*¸ext“T˜ransfer“ProtošGcol)“geno˜emd“en“w¸čeŽĄhebbšGen–U reeds“een“commando“erv‘˙qĐan“gezien““het“GET“zoals“hierb˜o•¸čv“en‘U geto˜ond.ŽŚAls–i+het“GET‘i&commando“naar“de“w•¸čebserv“er–i+v‘˙qĐan“metalab.unc.edu“met“service“n¸čummer“80“gaat,‘n.zal“het“naarŽĄeen–€‹Âserver‘§&daemon‘Dŕšluisterend“op“p•Go“ort–€‹80,‘Ëewš¸čorden“v˜erzonden.‘óŔDe“meeste“In˜ternetdiensten“w˜orden“doGorŽĄserv•¸čerdaemons›ӓuitgev“o•Gerd˜die˜niets˜anders˜do“en˜dan˜p“o“orten˜in˜de˜gaten˜houden,‘í|uitkijk•¸čen˜naar˜en˜uitv“oGerenŽĄv‘˙qĐan–U ink¸čomende“commando's.ŽŚAls–Ýthet“on•¸čt“w“erp–Ýtv‘˙qĐan“het“Inš¸čternet“o˜v˜er“de“gehele“linie“gelijk“zou“zijn,‘˙‰is“het“dat“alle“delen“zo“een˜v˜oudig“enŽĄmens-tošGegank¸čelijk–ň5mogelijk“zou“mo˜eten“zijn.‘P‡HTTP‘˙*¸,“en“daaraan“gerelativ¸čeerde“proto˜collen“(zoals“het“SimpleŽĄMail–¨žT‘˙*¸ransfer“ProtoGcol,‘Ë8ÂSMTP‘š,“dat“wš¸čordt“gebruikt“om“elektronisc˜he“mail“tussen“hosts“te“v˜erplaatsen)“mak˜enŽĄin–Ečhet“algemeen“gebruik“v‘˙qĐan“een•¸čv“oudige–Ečafdrukbare-tekst“commando's“die“met“een“carriage-return/line“feedŽĄeindigen.ŽŚDit–)*is“marginaal“inecienš¸čt;‘7Ńin“een“aan˜tal“omstandigheden“zou“je“meer“snelheid“kunnen“krijgen“doGor“gebruikŽĄte–ë„makš¸čen“v‘˙qĐan“een“w˜aterdic˜h˜t-gecošGdeerd“binair“proto˜col.‘4­Maar“erv‘˙qĐaring“heeft“uitgewš¸čezen“dat“de“v˜oGordelenŽĄv‘˙qĐan–Scommando's“die“gemakkš¸čelijk“doGor“menselijk˜e“w˜ezens“zijn“te“bGesc˜hrijv˜en“en“b•Gegrijp“en–Szw˜aarder“w˜egenŽŽŽŒ‹Y Ű_2 ý ~?Ÿ„€ŐÁGŽż13.‘ń8HoQÂe–ŐwšŽ>erkt“het“In˜ternet?’9,Řš19ŽŽ ՁÁ ýVŻdan–L*enig“bijkš¸čomstig“v˜oGordeel“in“eci€ën˜tie“dat“je“zou“kunnen“krijgen“ten“k˜oste“v‘˙qĐan“het“mak˜en“v‘˙qĐan“lastige“enŽ¤ Žon•¸čbGev‘˙qĐattelijk“e‘U zak“en.ŽŸŘźDaarom–U1is“wš¸čat“de“serv˜erdaemon“je“terugzendt“via“TCP/IP‘TďošGok“tekst.‘qłHet“b˜egin“v‘˙qĐan“de“resp˜onse“zal“erŽĄongevš¸čeer–U zo“uitzien“(een“paar“v‘˙qĐan“de“headers“zijn“ac˜h˜tergehouden):ŽŠŘźĂHTTP/1.1–?Ź200“OKŽĄDate:–?ŹSat,“10“Oct“1998“18:43:35“GMTŽĄServer:–?ŹApache/1.2.6“Red“HatŽĄLast-Modified:–?ŹThu,“27“Aug“1998“17:55:15“GMTŽĄContent-Length:‘?Ź2982ŽĄContent-Type:‘?Źtext/htmlŽŚšDeze–ƒBheaders“zullen“wš¸čorden“gev˜olgd“doGor“een“lege“regel“en“de“tekst“v‘˙qĐan“de“w˜ebpage“(w˜aarna“de“v˜erbindingŽĄw•¸čordt›2Sv“erbrok“en).‘ećJe˜bro“wser˜toGon“t˜enk“el˜die˜pagina.‘ećDe˜headers˜gev“en˜aan˜hoGe˜(in˜het˜bijzonder˜v“ertelt˜deŽĄCon•¸čten“t-T“ypGe–U header“het“dat“de“geretourneerde“gegev¸čens“in“feite“HTML“zijn).ŽŽŽŒřl÷ƒ’Ŕ;čŰ_2ŐÁGóqLË ectt0900óqLË ectt1000ó˝HЃ ecti1000óĽ!˘N ecbx1200ó]fŒ ecbx1000ó&Lt$ffffecbx1440óŒ6 ecss1000óţÖëI˝q˝qecss2074ó 1ęą ecrm1000ůq'ßßßßßß