¡iͦW¡j¹õ«á¡BI´º
¡i»¡©ú¡j
UNIX¨t²Î¬O¤@Ó¦h¤H¦h¤u¨t²Î¡C´«¨¥¤§¡A¥¦¥i¥H¦b¦P¤@®É¶¡¤ºªA°È¦hӨϥΪ̤ΰõ¦æ¦hÓ¤u§@¡A¦]¦¹»Ýn¦³¹õ«e¡B¹õ«á¤§¤À¡C¦bI´ºªº±¡ªp¤U¡A¨Ï¥ÎªÌ©Ò¤U¹Fªº«ü¥O¨Ã¤£·|°¨¤W°õ¦æ¡A¦Ó¬O©ñ¨ì¤@Ó¦î¦C¡]queue¡^¤¤¡Aµ¥«Ý CPU ªº²²ÅU¡A¦Ü©ó¦ó®É³Q°õ¦æ¡H°õ¦æªº²Ó¸`¦p¦ó¡H¨Ï¥ÎªÌµLªk¥ß§Y¥Ñ²×ºÝ¾÷ª¾¾å¡A¦]¦¹¥H¡uI´º¡vºÙ¤§ ¡C¤@¯ë§@ªk¬O¦b«ü¥O«á±¥[¤W "&" ²Å¸¹¡A¨Óªí¥Ü§ÚÌn¨D¨t²Î¥HI´ºªº¤è¦¡¨Ó§@³B²z¡Aµ¥¨ì°õ¦æ§¹²¦¡A·|¶Ç¦^¸Ó«ü¥Oªº³B²zµ{§ÇÃѧO½X¡]process ID¡^¥H¤Îµ²§ôªº°T®§¡C¡i½d¨Ò¡j
$spell memo.aut > errors &¡i°Ñ¦Ò¡j
foreground, process ID, background process¡C¡iͦW¡j¹õ«á³B²zµ{§Ç¡BI´º³B²zµ{§Ç
¡i»¡©ú¡j¦pªG¨Ï¥ÎªÌ©Ò«Ø¥ßªº³B²zµ{§Ç¬O¥H¹õ«áªº¤è¦¡°õ¦æ¡A´NºÙ¤§¡u¹õ«á³B²zµ{§Ç¡v¡C¥¦ªº¤@¤ÁÀu¥ýÅv§Q¡]
priority¡^¡A¨Ò¦p¡G°õ¦æªº®É¶¡¡B¸ê·½ªº¨ú±oµ¥¡A³£¸û¡u¹õ«e³B²zµ{§Ç¡v¡]foreground process¡^¬°§C¡C¡i°Ñ¦Ò¡j
background, priority, foreground process¡C¡iͦW¡j³Æ¥÷
¡i»¡©ú¡j¤@¯ëªx«üÀɮרt²Î¡]
file system¡^ªº«þ¨©¡A¥Øªº¬O¬°¤F¨¾¤î¾÷¾¹ªº·í¾÷¡BºÐªº·N¥~·l·´©Î¬O¨Ï¥ÎªÌµL·N¤§¶¡§R°£«nªº¸ê®Æ¡C¡i°Ñ¦Ò¡j
file system¡C¡iͦW¡jÀj²v
¡i»¡©ú¡j¥Î¥Hpºâ¶Ç¿é³t²vªº³æ¦ì¡CY¬Y¤¶½è¡]
media¡^¨C¬í¯à¶Ç°e n Ó°T¸¹È¡A«h¨äÀj²v§Y¬° n ¡C¦ý¬O¶Ç¿é³t²v¬° n Àj²vªº½u¸ô¨Ã¤£¤@©wªí¥Ü¨C¬í¶Ç°e n Ӧ줸¡C¦pªG¤@Ó°T¸¹È¥i¥Î¨Ó¶Ç°e 3 Ӧ줸¡M«h¨ä¦ì¤¸³t²v¬°Àj²vªº 3 ¿¡F¦pªG¤@Ó°T¸¹È¥u¶Ç°e 1 Ӧ줸¡M«h¨ä¦ì¤¸³t²v§Yµ¥©óÀj²v¡C¡iͦW¡j¬f§JµÜ§Ö³tÀɮרt²Î¡A²ºÙ bfs
¡i»¡©ú¡j¬f§JµÜ§Ö³tÀɮרt²Î±NºÏºÐªº¤À³Î°Ï¡]
partition¡^¤À³Î¬°³\¦hªººÏ¬W¸s ¡]Cylinder Group¡^¡A¨C¤@ӺϬW¸s¨ÌºÏºÐªº¤j¤p¡A¥]§t¤F 1 ¨ì 32 Ó¬Û¾FªººÏ¬W¡A¦bºÏ¬W¸s¤W¡A¾Ö¦³¡u¶W¯Å°Ï¶ô¡v¡]super block¡^¡AºÏ¬W¸s°Ï¶ô©M¯Á¤Þ¸`ÂI°Ï¶ô¡]½Ð°Ñ¦Ò¤U¹Ï¡^¡AºÏ¬W¸s°Ï¶ô¥]§t¤F¦³Ãö¦b¦¹ºÏ¬W¸s¤¤ªÅ¥Õ°Ï¶ô©MªÅ¥Õ¯Á¤Þ¸`ÂIªº¸ê®Æ¥H¤ÎºÏ¬W¸s¹B¥Îªºª¬ºA¡A¦Ó¶W¯Å°Ï¶ô¡]super block¡^¦bÀɮרt²Î¤¤¨CӺϬW¸s³£¦û¦³¤£¦Pªº¦ì¸m¡A¨Ò¦p¤@Ó¥i¯à¦bºÏy¡]TRACK¡^5 ¤W¦Ó¥t¤@Ó«h¦bºÏy 6 ¤W¡]©ñ¦b¤ñ«e¤@Ó¦h¤@Ó TRACK ªº¦ì¸m¡^¡A¦]¦¹©Ò¦³¶W¯Å°Ï¶ô¦P®É·lÃaªº¾÷²v«Ü¤p¡C·íÀɮרt²Î¶W¯Å°Ï¶ô·lÃa®É¡A¥i¨Ì·Ó¨ä¥Lªº¶W¯Å°Ï¶ô¤Wªº¸ê®Æ¨Ó×´_¡C±Ò°Ê°Ï¶ô |
¶W¯Å°Ï¶ô |
ºÏ¬W¸s°Ï¶ô |
¯Á¤Þ¸`ÂI°Ï¶ô |
. . . |
¸ê®Æ°Ï¶ô |
. . . |
¸ê®Æ°Ï¶ô |
¶W¯Å°Ï¶ô |
ºÏ¬W¸s°Ï¶ô |
¯Á¤Þ¸`ÂI°Ï¶ô |
. . . |
¸ê®Æ°Ï¶ô |
¦]¬°¨CӺϬW¸s³£¦³¯Á¤Þ¸`ÂIªí¡A¦Ó§Ö³tÀɮרt²Î¤S¾¨¥i¯à¦a±N¦bÄÝ©ó¦P¼Ë¤@ӥؿýªº¯Á¤Þ¸`ÂI©M¸ê®Æ°Ï¶ô©ñ¤J¦b¦P¤@ӺϬW¸s¤¤¡]¥Ñ¯Á¤Þ¸`ÂIªºª½±µ«ü¼Ð©Ò«ü¨ìªº¸ê®Æ°Ï¶ô³q±`³Q©ñ©ó©M¥Ø¿ý¬Û¦PªººÏ¬W¸sùØ¡A¶¡±µ«ü¼Ð©Ò«ü¦Vªº¸ê®Æ°Ï¶ô«h¦s©ó«á±ªººÏ¬W¸s¤¤¡^¡A¦]¦¹§ä´M¸ê®Æªº³t«×¤]¬Û¹ïªº´£°ª¤F³\¦h¡C¹ï©ó¤@Ó·s«Ø¥ßªº¥Ø¿ýÀɮסA§Ö³tÀɮרt²Î·|§ä¨ì¦³¸û¦hªÅ¯Á¤Þ¸`ÂIªººÏ¬W¸s¨Ó¦s©ñ¡A¦Ó¥BÀɮרt²Î¾¨¶q¦bºÏ¬W¸s¤W¯d¤U¤@¨ÇªÅ¶¡¦Ó¤£±N¨ä©ñº¡¡A¨ÏºÏ¬W¸s§ó¦³¼u©Ê¡C¦¹¥~¡A
BSD ªº§Ö³tÀɮרt²Î¨Ï¥Î¸û¤jªºÅÞ¿è°Ï¶ô¡]4K ©Î 8K¡^¡A©Ò¥H³t«×«Ü§Ö¡A¦ý¬O¤]¦]¬°¦p¦¹¦s©ñÀɮ׮ɡA©¹©¹·|®ö¶O³\¦hªÅ¶¡¡A©Ò¥H§Ö³tÀɮרt²Îã³\¤pªºÀɮצs©ñ¦b§OªºÀɮפ¤¥¼¨Ï¥ÎªºªÅ¶¡¡]ºÙ¬° fragment¡^¡A¦p¦¹¥i¥H´î¤ÖºÏºÐ®ö¶Oªºª¬ªp¡A¤@¯ë¦Ó¨¥¤@Ó fragment ¦û¸ÓÅÞ¿è°Ï¶ôªº1/8¡C¦¹¥~¡A§Ö³tÀɮרt²Î«O¯d¤F¤@³¡¥÷ªººÏºÐªÅ¶¡¡A¥u¦³
root ªº¨Ï¥ÎªÌ¦³Åv§QÀ³¥Î³o³¡¥÷ºÏºÐªÅ¶¡¡A³o¼Ë¨Ï±oÀɮרt²Î¦sº¡®É¡A¨t²ÎºÞ²z®v¤´¦³¨¬°÷ªÅ¶¡¯à¾Þ§@¡A©Ò¥H¦³®É±z¨Ï¥Î df «ü¥O®É·|µo²{Àɮרt²Î·|¶W¹L 100% ªº¨Ï¥Î²v¡C¦b§Ö³tÀɮרt²Î¤¤«O¯d¤§ºÏºÐªÅ¶¡ªº¹w³]ȬO 10%¡A¤£¹L±z¥i¥H§ó§ï MINFREE ªºÈ©Î¨Ï¥Î "newfs -m" ªº«ü¥O¨Ï±o«Ø¥ßªº·sÀɮרt²Î§Q¥Î¤£¦Pªº¤ñ²v¡C¨Ò¦p/usr ¤Wªº¸ê®Æ¤ñ¸û¤£±`§ïÅÜ¡A§ÚÌ¥i±N«O¯dªº¤ñ²v°§C¡C¡i°Ñ¦Ò¡j
fragmentation¡C¡iͦW¡j¤G¶i¦ìÀÉ
¡i»¡©ú¡j³oºØÀÉ®×»P
DOS ¤¤¥H .EXE ©Î .COM µ²§ÀªºÀɬÛÃþ¦ü¡A¦bÀÉÀY«e´XӦ줸²Õªº¦a¤è°O¿ýµÛ¤@¨ÇÃö©ó¨t²Îªº¸ê®Æ¡A¥H¤Î©Ò¿×ªº¡uÅ]³N¼Æ¦r¡v¡]magic number¡^¡C·í¨t²Î°õ¦æ¦¹ÃþÀɮ׮ɡA«K·|ÂǦ¹§PÂ_³o¬O§_¬°¦X®æªº¤G¶i¦ì¥i°õ¦æÀÉ¡C¡i°Ñ¦Ò¡j
magic number¡C¡iͦW¡j°Ï¶ô¡]¦Wµü¡^¡Aªý¹j¡þÀÁ¸m¡]°Êµü¡^
¡i»¡©ú¡j¡u°Ï¶ô¡v¬O«ü
UNIX ¨t²Î¦b§@¤j¶q¸ê®Æ·h²¾ªº°Ê§@®É¡A©Ò¨Ï¥Îªº¸ê®Æ¶q³æ¦ì¡A±`¨£ªº°Ï¶ô¤j¤p¬O 512 ©Î 1024 Ӧ줸²Õ¡A¦b SVR4 ³Ì¦h¥i¥HÅý¤@Ӱ϶ô¤j¦Ü 8192 Ӧ줸²Õ¡C¦pªG Block ¥Î°µ°Êµü¡A¨Ò¦p¬YÓ³B²zµ{§Ç¦]¬°µ¥Ô¿é¤J¡þ¿é¥X§@·~ªº§¹¦¨¦Ó³B©ó³Qªý¹jªº±¡§Î¡C¡iͦW¡j°Ï¶ô³]³Æ
¡i»¡©ú¡j¦b®Ö¤ß¡]
kernel¡^¤¤¦³³\¦hªº³]³ÆÅX°Êµ{¦¡¡]device driver¡^¨ÓºÞ²z¦UºØ¤£¦Pªº¶gÃä³]³Æ¡A³o¨Ç³]³Æ¦]©Ê½èªº¤£¦P¥i¤À¬°¨âÃþ¡G¦r¤¸³]³Æ»P°Ï¶ô³]³Æ¡C¦Ó°Ï¶ô³]³Æ¬O«ü¦b°µ¸ê®Æªº¿é¥X¿é¤J®É¡A¯à¤@¦¸³B²z¦hӦ줸²Õ¸ê®Æªº³]³Æ¡C¨Ò¦p¡GºÏºÐ¾÷¡BºÏ±a¾÷¡C¥¦ªº§@ªk¬O¢w¨Ï¥Î¤@Ó©T©w¤j¤pªº³sÄò°O¾ÐÅé°Ï¶ô·í§@¸ê®Æªº¼È¦s½w½Ä°Ï¡]buffer¡^¡Aµ¥¨ì¦sº¡¤F¥H«á¦A¤@¦¸°µ¿é¥X©Î¿é¤J¡C¡i°Ñ¦Ò¡j
character device, kernel, device driver¡C¡iͦW¡j°Ï¶ô¯S®íÀÉ
¡i»¡©ú¡j©Ò¿×ªº¡u°Ï¶ô¯S®íÀÉ¡v¬O«ü¦¹ÀÉ®×¥¦©Ò¹ïÀ³ªº³]³Æ¤@¦¸¥i³B²z¦hӦ줸²Õ¸ê®Æ¡C¦b¦¡ªº UNIX Àɮרt²Î¡A¨ä¤j¤p³q±`¬O
512 Ӧ줸²Õ©Î¬O 1024 Ӧ줸²Õ¡C²{¦bªº¤@¨ÇÀɮרt²Î«h©¹©¹¤j¨ì¤@Ӱ϶ô 8192 Ӧ줸²Õ¡C¡i°Ñ¦Ò¡j
character device, character special file, block device¡C¡iͦW¡j±Ò°Ê
¡i»¡©ú¡j
UNIX ©M DOS ªº³Ì¤j¤£¦PÂI«K¬O¦b UNIX Àô¹Ò¤¤¡A¨Ï¥ÎªÌ¬O¨S¦³Åv¤O©M¥ô¦ó¶gÃä³]³Æ³sµ¸¡A¦Ó©Ò¦³ªº«ü¥O°Ê§@¥²¶·³z¹L¡u®Ö¤ß¡v¡C¡u®Ö¤ß¡v¬O¦b¨t²Î±Ò°Ê®É«K¤@ª½®y¸¨©ó°O¾ÐÅ餧¤º¡A¦Ó¦p¦ó±N¡u®Ö¤ß¡v¦b±Ò°Ê®É©ñ¤J°O¾ÐÅ餤«K¬O¨t²Î±Ò°Ê³Ì«nªº¥Ø¼Ð¡C·í¨t²Î±Ò°Ê®É¡A¾÷¾¹¤Wªº
ROM, PROM ©Î EPROM ·|¦Û°Êªº±N±Ò°Ê°Ï¶ô¡]boot block¡^©ñ¤J°O¾ÐÅ餤¡A±q±Ò°Ê°Ï¶ô¡]boot block¡^¤W¡A¨t²Î·|§ä¨ì¤@Ó¤p¤pªºµ{¦¡¥s "boot program loader"¡]¦³ªº¨t²ÎºÙ¤§¬° boot 0¡^¡A·í°õ¦æ "boot program loader" µ{¦¡®É¡A¥¦·|¨Ì¾Ú¦b±Ò°Ê°Ï¶ô¡]boot block¡^¤Wªº°O¿ý§ä¨ì "/boot" µ{¦¡¡]³o¦W¦r¥i¯à¦]¨t²Îªº¤£¦P¦Ó¤£¤@¼Ë¡^¦Ó±N¨ä©ñ¤J°O¾ÐÅ餤°õ¦æ¡C¦]¬°¨Ï¥ÎªÌ¥i¯à¦b±Ò°Ê®É¤Þ¥Î¯S§OªºÅܼơA¨Ò¦p¥H³æ¤@¨Ï¥ÎªÌ¼Ò¦¡¡] single user mode¡^±Ò°Ê¡A©Î¬O§Æ±æ¥Î¬Y¤@Ó¯S§Oªº®Ö¤ß¡]¦p±Ä¥Î /unix.old ¦Ó¤£¥Î /unix¡^¡A"/boot" ·|§ä¨ì±Ò°Ê©ÒnªºÅܼƤή֤ߪº¦ì¸m¡AµM«á±N®Ö¤ß©ñ¤J°O¾ÐÅ餺°õ¦æ¡C®Ö¤ß±Ò°Ê«á·|±N©Ò¦³ªºªí³£¾ã²z¦n¡A¦P®É»{ÃѤF¦b¶g³òªº³]³Æ¡A¦w±Æ¦n±Æµ{³B²z¡AµM«á¥¦·|²£¥Í "init" ¤Î "page daemon" ¨âÓ«nªº³B²zµ{§Ç¡A³Ì«á±Ò°Ê³B²zµ{§Ç·|Åܦ¨ "swapper" µ{§Ç¡C¡iͦW¡j¸ü¤J°Ï¶ô
¡i»¡©ú¡j§ÚÌ¥iµø
UNIX ªºÀɮרt²Î¡]file system¡^ ¬°¤@³s¦ê°Ï¶ô¡]blocks¡^ªº²Õ¦¨¡C¨ä¤¤ªº²Ä¤@Ӱ϶ô¬°¡u¸ü¤J°Ï¶ô¡v¡A«O¯dµ¹±Ò°Êµ{¦¡¨Ï¥Î¡A¨ä§@¥Î¦b©ó¨t²Î±Ò°Ê®É¡A±N¨t²Î®Ö¤ß(kernel)¸g¥ÑºÏºÐ¸ü¤J¥D°O¾ÐÅ餤¡AµM«á¦A±N±±¨îÅv¥æµ¹¨t²Î®Ö¤ß¨Ó«ü´§¾ãÓ¨t²Îªº¹B§@¡C¨CÓÀɮרt²Î³£¾Ö¦³¸ü¤J°Ï¶ô¡A¦ý¬O¥u¦³®ÚÀɮרt²Î¡]root file system¡^ªº¸ü¤J°Ï¶ô¦³¸ü¤Jµ{¦¡¡]boot program loader¡^¡A¨ä¥Lªº¸ü¤J°Ï¶ôÁöµM¦s¦b¡A ¦ý¬O¨Ã¤£¨Ï¥Î¡C¡i°Ñ¦Ò¡j
file system, kernel¡C¡iͦW¡jµL
¡i»¡©ú¡j
Bourne shell ¬O¥Ñ AT&T ¨©º¸ Steve Bourne ©Òµo®i¥X¨Óªº«ü¥O¸Ñ;¹¡A©ó 1978 ¦~¤½¶}°Ý¥@¡C³o¬O¤@Óµ{¦¡¤£¤j¦Ó¥B¬Û·í¦³®Ä²vªº shell ¡A¥Dn¬O¥H UNIX System V ¬°¥D¡C»P C shell ¬Û¤ñ¸û¡A¥¦ªº°õ¦æ³t«×¸û§Ö¡A¦P®É©Ò¦û°O¾ÐÅéªÅ¶¡¸û¤Ö¡C¦ý¬O»P Korn shell ¬Û¤ñ¸ûªº¸Ü¡A¥¦ªº°õ¦æ³t«×´NºC¤F¤@¨Ç¡C¨º¬O¦]¬° Korn shell ¨Ï¥Î¨Ï¥Î¤F³\¦hªº¤º«Ø¨ç¦¡¡A¯àª½±µ¥Ñ shell °õ¦æ¡A¦Ó¤£»Ýn¥t¥~¦A«Ø¥ß¤@Ó¤l shell °õ¦æ¡A¬G®Ä²v¸û¦n¡C¦ý¬Û¹ï¦a¡A¥¦©Ò¦ûªº°O¾ÐÅéªÅ¶¡¤]´N¸û¤j¤F¡C°£¦¹¤§¥~¡A¹ï¤@¨Ç¸û±M·~ªº¨Ï¥ÎªÌ¦Ó¨¥¡A Bourne shell ¦³´XÓ¬ü¤¤¤£¨¬¤§³B¡C²Ä¤@¡G¥¦¨S¦³´£¨Ñ©Ò¿×ªº¡u©R¥O¾ú¥v²M³æ¡v¡]command history¡^ªº¥\¯à¡F²Ä¤G¡G¥¦¨S¦³´£¨Ñ¡u§O¦W¡v¡]alias¡^ªºªA°È°È¡Cn¾a¨Ï¥ÎªÌ¦Û¦æ³]pµ{¦¡¤~¯à¹F¦¨¡C¡i°Ñ¦Ò¡j
C shell, Korn shell¡CBSD (Berkley Software Distributions)
¡iͦW¡jµL
¡i»¡©ú¡j±q¦è¤¸
1979 ¶}©l¡A¥Ñ¬ü°ê¥[¦{¤j¾Ç¬f§JµÜ¤À®Õ©Òµo®i¥X¨Óªº UNIX ¨t²Î¡A§¡¥H BSD §@¬°¨äª©¥»¦WºÙ¡C²Ä¤@Óª©¥»¬° 3BSD¡A¤§«á¸g¹L§ï¶i¦³4.0 BSD¡B 4.1aBSD¡B 4.1cBSD¡B 4.2BSD¡B 4.3BSD ¨ì²{¦bªº BSD 4.4 ª©¡C¡iͦW¡j½w½Ä°Ï
¡i»¡©ú¡j·í¤¤¥¡³B²z¾¹¡]
CPU¡^¹ï¶gÃä³]³Æ¡A¦p¡GºÏºÐ¾÷¡B¦Lªí¾÷°µ¿é¥X¤J®É¡A¥Ñ©ó©¼¦¹ªº³t«×¬Û®t¤Ó¦h¡A¨Ï±o¤¤¥¡³B²z¾¹¥²¶·µ¥¶gÃä³]³Æ³B²z§¹²Ä¤@µ§¸ê®Æ«á¤~¥á²Ä¤Gµ§¸ê®Æµ¹¥¦¡A¦p¦¹¤@¨Ó¡A¨Ï±o¤¤¥¡³B²z¾¹Ä_¶Qªº®É¶¡³£®ö¶O¦bµ¥«Ý¤§¤¤¡C¬°¤F§ïµ½³oÓ¯ÊÂI¡A´£°ª¤¤¥¡³B²z¾¹ªº¤u§@®Ä²v¡A©ó¬O´N¦b°O¾ÐÅ餺¹º¥X¤@¶ô°Ï°ì¡AºÙ¬°¡©½w½Ä°Ï¡ª¡C·í¦³¸ê®Æn¿é¥X®É¡A¥ý±N¸ê®Æ©ñ¤J½w½Ä°Ï¤¤¡A¥Ñ¶gÃä³]³Æ¥h³B²z½w½Ä°Ï¤ºªº¸ê®Æ¡A¦¹®É¤¤¥¡³B²z¾¹´N¥i¥H¥ý¥h°µ§Oªº¨Æ¡Aµ¥¶gÃä³]³Æ³B²z§¹½w½Ä°Ï¤ºªº¸ê®Æ«á¡A¦A³qª¾¤¤¥¡³B²z¾¹©ñ¤J²Ä¤Gµ§¸ê®Æ¡C¦Ó¿é¤J¸ê®Æ®É¡A«h¬O¥Ñ¶gÃä³]³Æ±N¸ê®Æ©ñ¤J½w½Ä°Ï«á¦A³qª¾¤¤¥¡³B²z¾¹¨Ó³B²z¡C¦p¦¹¤@¨Ó¡A¤¤¥¡³B²z¾¹´N¤£¥Î¬\µ¥¶gÃä³]³Æ¡A¦Ó¯à±NÄ_¶Qªº®É¶¡¥Î¦b§Oªº¦a¤è¡C¦]¦¹¡A½w½Ä°Ï¨ä¹ê´N¬O¤@¶ô°O¾ÐÅé¡A¥Øªº´N¦b©ó´£°ª¤¤¥¡³B²z¾¹ªº®Ä²v¡C¡iͦW¡j§Ö³t½w½Ä°Ï
¡i»¡©ú¡j¦b·L³B²z¾÷¶V¨Ó¶V§Öªº¤µ¤Ñ¡A¹q¸£¨t²Îªº³t«×²~ÀV´X¥G¥þ¥d¦b¿é¥X¿é¤J³]³Æ³o³¡¥÷¡A¦b§ó§Ö³tªº¿é¥X¿é¤J³]³Æ¥¼²£¥Í«e¡A¥[§Ö¿é¥X¿é¤J³t«×ªº³Ì¦³®Ä³~®|¦ü¥G´N¥u¦³±q´î¤Ö¿é¥X¿é¤J¦¸¼ÆµÛ¤â¡C§Ö³t½w½Ä°Ï´N¬O
UNIX ¨t²Î¥Î¨Ó´î¤Ö¿é¥X¿é¤J¦¸¼Æªº³]p¡C¦b§@·~¨t²Îªº³]p¤W¡A§Ú̱N¸ê®ÆªºÀx¦s¸Ë¸m¤À¦¨¨âÃþ¡A¤@Ãþ¬O¥D°O¾ÐÅé¡]
primary memory¡^¡A¥t¤@ÃþºÙ§@»²§U°O¾ÐÅé¡]secondary storage device¡^¡C¥D°O¾ÐÅé¦s¨ú³t«×§Ö¡A³q±`¥H¦Ê¸U¤À¤§´X¬í¬Æ¦Ü»õ¤À¤§´X¬í¬°³æ¦ì¡A¦ý¬O©ù¶Q¦Ó¥B¹q·½¤@¥¹Ãö³¬¤@¤Á¸ê®Æ´N³£ÀH·¦Ó³u¡A»²§U°O¾ÐÅéÁöµM¦s¨ú³t«×ºC¡]¥H¤d¤À¤§´X¬í¬°pºâ³æ¦ì¡^¡A¥i¬O»ù®æ«K©y¦Ó¥B¤£·|¦]¬°¹q·½¤¤Â_¦Ó¿ò¥¢¸ê®Æ¡A¨Ò¦p±zªºµwºÐ¾÷¡B¥úºÐ¾÷µ¥´N¬OÄݩ󻲧U°O¾ÐÅé¡A³q±`¥Î¤áªº¸ê®ÆÀɳ£¬O¦s¦b³oùØ¡C²{¥Nªº·L³B²z¾÷³t«×¶V¨Ó¶V§Ö¡A¦]¦¹¬Û¹ïªº¤]¶·n§ó§Öªº°O¾ÐÅé»P¤§¤Ç°t¡A¦pªG¥þ³¡ªº¥D°O¾ÐÅé³£¨Ï¥Î³oºØ°ª³t°O¾ÐÅ馨¥»¤S¤Ó°ª¡A©Ò¥H¤S¦³©Ò¿×§Ö¨ú°O¾ÐÅé¡]
cache¡^ªº¥X²{¡A ³oºØ§Ö¨ú°O¾ÐÅé¯Âºé¬OµwÅé¡A±z®aªº PC ¦b¶}¾÷®É¤£¬O·|¬Ý¨ì 64K cache ©Î¬O 256K cache ªº¦r¼Ë¶Ü¡H¨º´N¬O©Ò¿×ªº§Ö¨ú°O¾ÐÅé¡CŪªÌn¯d·N¡A§O±N§Ö¨ú°O¾ÐÅé»P§Ö³t½w½Ä°Ïµ¹§Ë²V¤F¡A«eªÌ¬O¦Ê¤À¤§¤@¦ÊªºµwÅé¡A«áªÌ«h¬O¤@Óµ{¦¡¡A¨Ò¦p DOS Àô¹Ò¤Uªº SMART DRIVER ¡]smartdrv.exe¡^´N¬O¤@ºØ§Ö³t½w½Ä°Ï³nÅé¡C·í³B²zµ{§Ç¦VÀɮרt²Î´£¥X¦s¨úÀɮתº»Ý¨D®É¡A®Ö¤ß¡]
kernel¡^·|±N©Ònªº¸ê®Æ¸ü¤J¥D°O¾ÐÅé¡A¥H¨Ñ³B²zµ{§Ç¨ú¥Î¡]³z¹L open¡]¡^¡Bread¡]¡^¡Bwrite¡]¡^µ¥¨t²Î©I¥s¡^¡F¦b³B²zµ{§Ç¨Ï¥Î§¹«á¡A®Ö¤ßÁÙ±o±N³o¨Ç¸ê®Æ¦A¦^¦s¨ì»²§UÀx¦s³]³Æ¡C³o¼Ëªº§@ªk¬Ý¨Ó¤Q¤À²z©Ò·íµM¡A¥i¬O¨t²Î¦pªG¯uªº³o¼Ë³B²z¡A¨t²Îªº¾ãÅé°õ¦æ®Ä²v±N·|¤j¬°§C¸¨¡A³o¬O¥Ñ©ó½wºCªººÏºÐ¦s¨ú©ì²Ö¤F¾ãÅ骺°õ¦æ³t«×¡A¨Ã¥B³y¦¨·L³B²z¾÷¤j³¡¥÷ªº®É¶¡³£¬O¦bµ¥«Ý¿é¥X¿é¤J°Ê§@ªº§¹¦¨¡C¬°¤F§JªA³oÓ»Ùê¡A
UNIX ¨Ï¥Î¤@³¡¥÷¥D°O¾ÐÅ鬰¨t²Î¥»¨ªº¸ê®Æ½w½Ä°Ï¡A½w½Ä°Ï¤¤¦s©ñµÛ¥Î¶q¸û¬°ÀWÁcªº¸ê®Æ¡A¥H°§C¹ê»Ú¹ïµwÅé³]³ÆÅª¼gªº¦¸¼Æ¡A³o¨Ç¥D°O¾ÐÅé§Y¬O©Ò¿×ªº§Ö³t½w½Ä°Ï¡C¥Ñ¤U¹Ï±z¥i¥Hµoı§Ö³t½w½Ä°Ï¦ì©óÀɮרt²Î©M°Ï¶ô³]³Æ¡]
block¡^´«¨¥¤§¡A·í®Ö¤ß¥ø¹Ï¥Ñ°Ï¶ô³]³ÆÅª¨ú¸ê®Æ®É¡A¥¦·|¥ý¹Á¸ÕµÛ¬Ý¬Ý§Ö³t½w½Ä°Ï¤¤¬O§_¦³¥¦nªº¸ê®Æ¡A¦pªG¦³´Nª½±µ±q§Ö³t½w½Ä°Ï¤º¨ú¥Î¡A°²¨Ï¨S¦³´N¥ÑºÏºÐ¤¤´M§ä¡A¨Ã±N´M±oªº¸ê®Æ©ñ¤@¥÷¨ì§Ö³t½w½Ä°Ï¤¤¡C¦P¼Ëªº¡A·í®Ö¤ß±N¸ê®Æ¼g¥X®É¡A¥ç·|¥ý±N¸ê®Æ¼g¤J§Ö³t½w½Ä°Ï¥H«K¤U¦¸nŪ¨ú®É¯à°÷¤£¶·¨ìµwºÐ¤º¥h§ä¡C±q
UNIX ªºì©l½X¨Ó¬Ý¡A§Ö¼Æ½w½Ä°Ïªº¦¨¬O½X¦@¤À¬°¤TÓ¥Dnªº¼Ò²Õ¡G¤@Ó¬O»PÀɮרt²Îªº¤¶±¡A¥]¬A¹ï°Ï¶ô³]³Æªº¦UºØ¾Þ§@¡F¤@Ó¬O§Ö³t½w½Ä°Ï¦î¦C¥»¨ªººÞ²z¼Ò²Õ¡F³Ì«á¤@Ó«h¬Oª½±µ©M°Ï¶ô³]³Æ¤ÎÅX°Êµ{¦¡·¾³q¡A¾ãÓÃö³s½Ð¬Ý¤U¹Ï¡G±q¤W±ªº»¡©ú§ÚÌ¥i¥Hª¾¹D¦pªG¨t²Î¨C¦¸¦s¨úªº¸ê®Æ³£¯à¦b§Ö³t½w½Ä°Ïùاä¨ì¡A«h¨t²Îªº°õ¦æ®Ä²v¦ÛµM«Ü¦n¡F¦ý¬O¦p¦óÅý§Ö³t½w½Ä°Ï¯à¦³°ª©R¤¤²v©O¡]
high hit rate¡^¡H¤@ºØ¬O±N§Ö³t½w½Ä°Ï®a¤j¡A¥t¤@ºØ´N¬O±Ä¥Î¾A·íªººtºâªk¡AÅý¨Ï¥Î³ÌÀWÁcªº¸ê®Æ³£¯d¦b§Ö³t½w½Ä°Ï¤º¡A¤@¯ë¦Ó¨¥¡ALRU¡]Least Recently Used¡^ºtºâªk¸û±`³Q±Ä¥Î¡C¡i°Ñ¦Ò¡j
file system, block device¡C¡iͦW¡j½w½Ä³]³Æ
¡i»¡©ú¡j¦P¡u°Ï¶ô³]³Æ¡v¡]
block device¡^¤@Ãã¡C¡i°Ñ¦Ò¡j
block device, character device¡C¡iͦW¡j½w½Ä°ÏÀx¦s¦À
¡i»¡©ú¡j¨t²Î¥Î¥HºÞ²z¥þ³¡½w½Ä°Ï©Ò¨Ï¥Îªº¤@ºØ¸ê®Æµ²ºc¡C³z¹L¦¹ºØµ²ºc¡A¨t²Î¥i¥H°Ï¤À¥X¨C¤@Ó½w½Ä°Ï¬O³B¦b¨º¤@ºØª¬ºA¡C¥H
BSD ª©¬°¨Ò¡A¥¦±N½w½Ä°Ï¤À¬°¡G¦s¦³¸ê®Æ¥B¸ê®Æ¥¼³Q¨Ï¥Îªºª¬ºA¡B¦s¦³¸ê®Æ¦ý¸ê®Æ¤w³Q¨Ï¥Î¹Lªºª¬ºA¡B¨S¦³¦s¸ê®Æªºª¬ºA..µ¥¡C¹ïºÏºÐ¤W¸g±`·|³Q¨Ï¥Î¨ìªº¸ê®Æ¡A³o¨Ç¨t²Î½w½Ä°Ïµ¥©ó´£¨Ñ¤F¤@ӼȮÉÀx¦sªº³õ©Ò¡A¥Î¥H¼W¶i CPU ªº¨Ï¥Î®Ä²v¡A¦]¦¹¥¦Ì¤]³QºÙ¬°¡u°ª³t½w½Ä°Ï¡v¡]buffer cache¡^¡C¡i°Ñ¦Ò¡j
BSD, buffer cache¡C¡iͦW¡j¦ì¤¸²Õ§Ç¦C
¡i»¡©ú¡j«ü¸ê®Æ¦b°O¾ÐÅ餤ªºÀx¦s¶¶§Ç¡C