JFS

¡iͦW¡jµL

¡i»¡©ú¡jAIX ªºÀɮרt²ÎºÙ¬° JFS¡]Journaled File System¡^¡Aºc¦¨¥¦ªº¥D­n¤¸¥ó¬°¶W¯Å°Ï¶ô¡Binode¡B©M¸ê®Æ°Ï¶ô¡C¶W¯Å°Ï¶ô¥]§t¤FÀɮרt²Îªº¦WºÙ¡B¤j¤p¡B«ü¦V inode ©M¥¼¥Î°Ï¶ô¦Cªº«ü¼Ðµ¥¡C¶W¯Å°Ï¶ô¬O¥Î¨Ó°lÂÜÀɮרt²Î¦b§@·~¤¤ªºª¬ºA¡C¦b±Ò°Ê¨t²Î¥H¤Î¨t²Î¥¢®Ä®É¡A¶W¯Å°Ï¶ô¤¤ªº¸ê°T¥ç¥i¥Î¨ÓÀËÅçÀɮרt²Îªº¾ã¦X©Ê¡C

¦b JFS ¤U¡Ainode ©Ò°O¸üªºÄݩʦ³¡G

ÀÉ®×¼Ò¦¡

ÀÉ®×Ãþ«¬

¾Ö¦³¥¦ªº UID ©M GID

¤é´Á®É¶¡ÂW°O

³sµ²¼Æ

«ü¦V¸ê®Æ°Ï¶ôªº«ü¼Ð

¥H¦ì¤¸²Õ¬°³æ¦ìªº¤j¤p

¥H°Ï¶ô¬°³æ¦ìªº¤j¤p

AIX ªº¨C­Ó inode ¬Ò¥]§t¤F 13 ­Ó¸ê®Æ°Ï¶ôªº¦ì§}¡C«e 8 ­Ó¦ì§}«ü¦VÀɮתº«e¤K­Ó¸ê®Æ°Ï¶ô¡C²Ä 9 ­Ó¦ì§}«ü¦V¤@­Ó inode inode µ²ºc¡C·í¶}±Ò³o­ÓÀɮ׮ɡAºÏºÐªº inode ¸ê°T·|³Q½Æ»s¨ì³o­ÓÀɮפ¤¡C²Ä 10 ¦Ü 13 ­Ó¦ì§}«ü¦V¶¡±µ¸ê®Æ°Ï¶ô¡A¥i¥H¥Î¨Ó©w§}¤jÀɮתº¸ê®Æ°Ï¶ô¡C¨C­Ó¶¡±µ°Ï¶ô¤ä´© 1024 ­Ó¦ì§}¡C¦]¬°AIX Àɮתº©w§}¯à¤O³Q­­¨î¦b 32 ­Ó¦ì¤¸¡A©Ò¥H JFS ¤£¨Ï¥Î²Ä¤T­«ªº¶¡±µ«ü¼Ð¡]triple indirect¡^¡C

JFS Àɮרt²Î¬O¤@­Ó¥H°O¿ý¬°°ò¦ªºÀɮרt²Î¡C¥¦¥i¥H®Ú¾Ú©Ò«O¦sªº¤@¥÷´`Àô¦¡¦a§ó·s°O¿ý¨Ó±j¤Æ¨t²Îªº¦^´_¯à¤O¡C·í¨t²Î¬G»Ù®É¡AJFS ©Ò«O¦sªº°O¿ý·|¥Î¨Ó¦^´_Àɮרt²Î¡C¥Î°O¿ý¨Ó´_­ìÀɮרt²Î¡A·|¤ñ¥Î fsck ¨Ó¬dÅç¾ã­ÓÀɮרt²Î­n§Ö¡CAIX ¤]¦³´£¨Ñ fsck ¨Ó¨ó§U´_­ì¨ü·lªºÀɮרt²Î¡F¦ý¬O¦b¼Ð·Ç±Ò°Ê¼Ò¦¡¤U¥¦¤£·|³Q©I¥s¡C¦b«Ø¥ß JFS ¨t²Î®É¡A¦pªG°O¿ýÅÞ¿è¨÷¥U¡]Logic Volumn¡^¤£¦s¦b¡A¥¦·|¦Û°Ê«Ø¥ß¤@¥÷°O¿ýÅÞ¿è¨÷¥U¡C¤@¥÷°O¿ýÅÞ¿è¨÷¥U¡A¥i¥H¤ä´©¨÷¥U¸s²Õ¤¤ªº¼Æ­ÓÀɮרt²Î¡CJFS ¤UªºÀɮרt²ÎÄݩʰO¿ý¦b ODM ¦Û­q¸ê®Æ®w¤Î /etc/filesystems Àɮפ¤¡C±z¥i¯à§Æ±æ½s¿è /etc/filesystems¡A¨Ó¬°·sªºÀɮרt²Î¥[¤J°O¸ü¦Ü¸ÓÀɮסA¥H°µ¬°ºÞ²z±b¤á¤ÎºÏºÐ°tÃB¤§¥Î¡C

Job

¡iͦW¡j¤u§@

¡i»¡©ú¡j¨Ì¾Ú Peterson ªº§@·~¨t²Î·§©À¤@®Ñ¡Ajob¡Btask ©M process ¬O«ü¬Û¦PªºªF¦è¡A¦ý¬O¦b UNIX ¨t²Î¤¤«o¤£ºÉµM¦p¦¹¡A¦b UNIX ¤U¡Ajob ¥i¯à¬O¥Ñ¼Æ­Ó³B²zµ{§Ç©Ò²Õ¦¨ªº¡A¤ñ¤è»¡§Ú±N¤@­Ó¤u§@©ñ¨ì¹õ«á°õ¦æ¡A¸Ó¤u§@³Ìªì¬O¤@­Ó³B²zµ{§Ç¡A¦ý¬O¥¦¥i¯à fork ¥X¦n´X­Ó¤l³B²zµ{§Ç¡A©ÎªÌ±N¤@­Ó script¡]§Y§å¦¸ÀÉ¡^©ñ¤J¹õ«á°õ¦æ¡AUNIX ·|±N¥¦¬Ý¦¨¤@­Ó¤u§@¡A¦ý¨Æ¹ê¤W¥¦«o¬O¥Ñ¦n´X­Ó«ü¥O¡]³B²zµ{§Ç¡^©Ò²Õ¦¨¡C

¡i°Ñ¦Ò¡jprocess, job control¡C

Job control

¡iͦW¡j¤u§@±±¨î

¡i»¡©ú¡j¨Ì¾Ú SVR4.2 ªºµ{¦¡³]­p§Þ³N¤â¥U¡]Programming Series¡^¡A¤u§@±±¨îªº©w¸q¬O³o¼Ëªº¡G¡u¦bñ¤J´Á¶¡¡]login session¡^¹ï³B²zµ{§ÇªººÞ²z¡v¡F¤u§@±±¨îªº§Þ³N¬O¥Ñ BSD UNIX 4.3 ª©²v¥ýµo®i¥Xªº¡A¦Ó C shell «h¬O³Ì¦­¤ä«ù¤u§@±±¨îªº shell¡C¥ô¦ó¤u§@¦b¦³¤ä´©¤u§@±±¨îªº shell ¤U³£¦³¨âºØª¬ºA¡G

  1. °õ¦æ¤¤¡]running¡^¡A³oªí¥Ü³o­Óµ{¦¡¥¿¦b¨Ï¥Î CPU¡C
  2. ¼È°±§@·~¡]stopped¡^¡A³oªí¥Ü¸Óµ{¦¡¥¿³B©óºÎ¯vªºª¬ªp¡A¦ý¥¦ÀH®É¥i¥H³Q­«·s±Ò°Ê¡]restart¡^¡C

³z¹L¤u§@±±³N¡Aµ{¦¡¥i¥H¥ô·N¤Á´«¦b¤W­zªº¨âºØª¬ªp¤U¡C¨t²Î­n´£¨Ñ¤u§@±±¨î¥²¶·²Å¦X¥H¤U¤T¶µ°ò¥»±ø¥ó¡G

  1. shell ¥²»Ý¤ä´©¤u§@±±¨î¡C
  2. ²×ºÝ¾÷ÅX°Êµ{¦¡¥²¶·¤ä´©¤u§@±±¨î¡C
  3. ¦³´£¨Ñ±±¨î¤u§@¤Á´«ªº°T¸¹¡C

­nª¾¹D±zªº¨t²Î¬O§_´£¨Ñ¤F¤u§@±±¨îªº¯à¤O¡A¥i¥H³z¹LÀˬd©w¸qÀÉ unistd.h ùØ _POSIX_JOB_CONTROL ±`¼Æ¦Ó±oª¾¡C

SVR4 §l¦¬¤F BSD UNIX ªººë¯«¡A¦b shell ³o³¡¥÷°µ¤F³\¦hªº§ïÅÜ¡A­º¥ý¬O¥[¤J Korn shell °µ¬°¼Ð·Ç°t³Æ¡A¨ä¦¸±N¤@³¡¥÷ªº«ü¥O¦p nohup¡Bkill µ¥§ï¬° shell ªº¤º«Ø«ü¥O¡AµM¦Ó³Ì­«­nªºÅÜ­²ÁÙ¬OÅý¥j¦Ñªº Bourne shell ¤]¾Ö¦³¤u«µ±±¨îªº¯à¤O¡C

»P¤u§@±±¨î¬ÛÃöªº«ü¥O¦³¥|­Ó¡Gbg¡Bfg¡Bstop »P Ctrl+Z¡A·í¨Ï¥ÎªÌÁä¤J Ctrl+Z ®É¡Ashell ·|¥ß¨è²£¥Í¤@­Ó¥æ½Í¦¡ªº°±¤î°T¸¹¡]interactive stop signal¡A¦b¦¹¬O«üSIGTSTP¡^µ¹¥¿¦b°õ¦æªº³B²zµ{§Ç¡A³o®É¸Ó³B²zµ{§Ç·|³Q¼È®ÉÀÁ¸m¡]suspend¡^¡A´«¨¥¤§¡A¸Ó³B²zµ{§Ç±N¼È®É¤£·|³Q°õ¦æ¡A¦¹®É±z¥i¥H¥Î bg «ü¥O±N¸Ó³B²zµ{§ÇÅܦ¨¦b¹õ«á°õ¦æªº³B²zµ{§Ç¡A¦Ó fg «ü¥O«h¥i¥H±N¤@­Ó¼È®É°±¤î©Î¬O¦b¹õ«á°õ¦æªº³B²zµ{§Ç­«·s°õ¦æ©Î¬O¥s¦^¹õ«e¡C¦Ó stop «ü¥O«h¬O±N¤@­Ó¦b¹õ«á°õ¦æªº³B²zµ{§Ç¤©¥H°±¤î¡]²£¥Í SIGSTOP °T¸¹¡^¡C

SVR 4.2 ©Ò©w¸qªº°T¸¹¤¤¡A¼vÅT¨ì¤u§@±±¨îªº¦³¤»­Ó°T¸¹¡G

¡° SIGCHLD

¡° SIGCONT

¡° SIGSTOP

¡° SIGTSTP

¡° SIGTTIN

¡° SIGTTOU

JTM (Job Transfer and Manipulation)

¡iͦW¡jµL

¡i»¡©ú¡jÀ³¥Î¼hªº³q°T¨ó©w¡]protocol¡^¡C¥Î©ó±N¤u§@Âà°eµ¹»·ºÝªº³s½u¤j«¬¥D¾÷¥H¶i¦æ§å¦¸§@·~³B²z¡C

¡i°Ñ¦Ò¡jprotocol¡C