home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-11-06 | 54.9 KB | 1,428 lines |
-
-
-
- EÅÉêïÄåàìêà F
-
- EæêæÆàîì¢à ÄÅàÉÇûêêF
-
-
-
- é »α¿½«ªÑ¡¿¿ ñáÑΓß∩ ¬αáΓ¬¿⌐ «íº«α Σπ¡¬µ¿⌐ ß¿ßΓѼδ UNIX. Å«½¡«Ñ «»¿ßá¡¿Ñ
- φΓ¿σ Σπ¡¬µ¿⌐ ß«ñÑনΓß∩ ó απ¬«ó«ñßΓóÑ »α«úαá¼¼¿ßΓá-»«½∞º«óáΓѽ∩ óÑαß¿¿ V
- ß¿ßΓѼδ UNIX. æóÑñÑ¡¿⌐, »α¿óÑñÑ¡¡δσ ºñÑß∞, 󻫽¡Ñ ñ«ßΓáΓ«τ¡« ñ½∩ Γ«ú«, τΓ«íδ
- αẫíαáΓ∞ß∩ ó »α¿¼Ñαáσ »α«úαá¼¼, »αÑñßΓáó½Ñ¡¡δσ ó ¬¡¿úÑ.
- ê¼Ñ¡á Σá⌐½«ó, π»«¼¿¡áѼδÑ ó ΓѬßΓÑ, »αÑñßΓáó½∩εΓ ß«í«⌐ »«ß½Ññ«óáΓѽ∞¡«ß-
- Γ¿ ß¿¼ó«½«ó, ºáóÑαΦáεΘ¿Ñß∩ »πßΓδ¼ ß¿¼ó«½«¼ ¿ ß«ßΓ«∩Θ¿Ñ ¿º ¬«¼»«¡Ñ¡Γ, αáºñÑ-
- ½Ñ¡¡δσ ¡á¬½«¡¡«⌐ τÑαΓ«⌐. é ß½πτáÑ «Φ¿í¬¿ óßÑ Σπ¡¬µ¿¿ ó«ºóαáΘáεΓ ¬«ñ ºáóÑαΦÑ-
- ¡¿∩, αáó¡δ⌐ -1, á ¬«ñ ßἫ⌐ «Φ¿í¬¿ ºáßδ½áÑΓß∩ ó »ÑαѼѡ¡πε errno, ¿¼ÑεΘπε
- Γ¿» external. é ß½πτáÑ πß»ÑΦ¡«ú« ºáóÑαΦÑ¡¿∩ ¬«ñ ó«ºóαáΓá ¿¼ÑÑΓ º¡áτÑ¡¿Ñ,
- αáó¡«Ñ 0. ìѬ«Γ«αδÑ ¿º «íαáΘÑ¡¿⌐ ¬ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ∩ó½∩εΓß∩ Γ«τ¬«⌐ óσ«-
- ñá ßαáºπ ñ½∩ ¡Ñ߬«½∞¬¿σ Σπ¡¬µ¿⌐: φΓ« «º¡áτáÑΓ, τΓ« ñá¡¡δÑ Σπ¡¬µ¿¿ ¿ß»«½∞ºπεΓ
- «ñ¿¡ ¿ ëà ªÑ áßßѼí½Ñα¡δ⌐ ¿¡ΓÑαΣÑ⌐ß. Åα¿ó«ñ¿¼δ⌐ ß»¿ß«¬ Σπ¡¬µ¿⌐ πñ«ó½ÑΓó«α∩-
- ÑΓ ßΓá¡ñáαΓ¡δ¼ πß½«ó¿∩¼, »α¿¡∩Γδ¼ ó ß»αáó«τ¡δσ απ¬«ó«ñßΓóáσ »« ß¿ßΓÑ¼Ñ UNIX,
- »α¿ φΓ«¼ ó«»α«ßδ, ßó∩ºá¡¡δÑ ß ΓѼ, ∩ó½∩ÑΓß∩ ½¿ «ñ¡« «íαáΘÑ¡¿Ñ ¬ «»Ñαᵿ«¡¡«⌐
- ß¿ßΓÑ¼Ñ Γ«τ¬«⌐ óσ«ñá ñ½∩ «ñ¡«⌐ ¿½¿ ¡Ñ߬«½∞¬¿σ Σπ¡¬µ¿⌐, αáßß¼áΓα¿óáεΓß∩ «Γ-
- ñѽ∞¡«.
-
-
- EaccessF
- ______________________________
-
- access(filename,mode)
- char *filename;
- int mode;
-
- öπ¡¬µ¿∩ access »α«óÑα∩ÑΓ, ¿¼ÑÑΓ ½¿ »α«µÑßß αáºαÑΦÑ¡¿Ñ ¡á τΓÑ¡¿Ñ, ºá»¿ß∞
- ¿½¿ ¿ß»«½¡Ñ¡¿Ñ Σá⌐½á (»α«óÑα∩Ѽδ⌐ Γ¿» ñ«ßΓπ»á ºáó¿ß¿Γ «Γ º¡áτÑ¡¿∩ »áαá¼ÑΓαá
- mode). ç¡áτÑ¡¿Ñ mode ∩ó½∩ÑΓß∩ ¬«¼í¿¡áµ¿Ñ⌐ ñó«¿τ¡δσ ¼áß«¬ 4 (ñ½∩ τΓÑ¡¿∩), 2
- (ñ½∩ ºá»¿ß¿) ¿ 1 (ñ½∩ ¿ß»«½¡Ñ¡¿∩). é¼ÑßΓ« ¿ß»«½¡¿Γѽ∞¡«ú« ¬«ñá ¿ñÑ¡Γ¿Σ¿¬áµ¿¿
- »«½∞º«óáΓѽ∩ ó »α«óÑα¬Ñ πτáßΓóπÑΓ Σá¬Γ¿τÑ߬¿⌐ ¬«ñ.
-
-
- EacctF
- ______________________________
-
- acct(filename)
- char *filename;
-
- öπ¡¬µ¿∩ acct ó¬½ετáÑΓ πτÑΓ ß¿ßΓѼ¡δσ αÑßπαß«ó, Ñß½¿ »áαá¼ÑΓα filename
- ¡Ñ»πßΓ«⌐, ¿ ó䬽ετáÑΓ - ó »α«Γ¿ó¡«¼ ß½πτáÑ.
-
-
- EalarmF
- ______________________________
-
- unsigned alarm(seconds)
- unsigned seconds;
-
- öπ¡¬µ¿∩ alarm »½á¡¿απÑΓ »«ß佬π óδºδóáεΘѼπ ÑÑ »α«µÑßßπ ß¿ú¡á½á ΓαÑó«ú¿
- τÑαѺ π¬áºá¡¡«Ñ ¬«½¿τÑßΓó« ßѬπ¡ñ (seconds). Ä¡á ó«ºóαáΘáÑΓ τ¿ß½« ßѬπ¡ñ,
- «ßΓáóΦÑÑß∩ ñ« »«ß佬¿ ß¿ú¡á½á «Γ ¼«¼Ñ¡Γá ó맮óá Σπ¡¬µ¿¿.
-
-
- 400
-
- EbrkF
- ______________________________
-
- int brk(end_data_seg)
- char *end_data_seg;
-
- öπ¡¬µ¿∩ brk πßΓá¡áó½¿óáÑΓ óÑασ¡εε úαá¡¿µπ (ßΓáαΦ¿⌐ áñαÑß) «í½áßΓ¿ ñá¡¡δσ
- »α«µÑßßá ó ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿Ñ¼ »áαá¼ÑΓαá end_data_seg. àΘÑ «ñ¡á Σπ¡¬-
- µ¿∩, sbrk, ¿ß»«½∞ºπÑΓ Γπ ªÑ Γ«τ¬π óσ«ñá ¿ πóѽ¿τ¿óáÑΓ áñαÑß óÑασ¡Ñ⌐ úαá¡¿µδ
- «í½áßΓ¿ ¡á π¬áºá¡¡πε óѽ¿τ¿¡π.
-
-
- EchdirF
- ______________________________
-
- chdir(filename)
- char *filename;
-
- öπ¡¬µ¿∩ chdir ñѽáÑΓ ΓѬπΘ¿¼ ¬áΓὫú«¼ óδºδóáεΘÑú« »α«µÑßßá ¬áΓὫú,
- π¬áºá¡¡δ⌐ ó »áαá¼ÑΓαÑ filename.
-
-
- EchmodF
- ______________________________
-
- chmod(filename,mode)
- char *filename;
-
- öπ¡¬µ¿∩ chmod ¿º¼Ñ¡∩ÑΓ »αáóá ñ«ßΓπ»á ¬ π¬áºá¡¡«¼π Σá⌐½π ó ß««ΓóÑΓßΓó¿¿
- ß« º¡áτÑ¡¿Ñ¼ »áαá¼ÑΓαá mode, ∩ó½∩εΘ¿¼ß∩ ¬«¼í¿¡áµ¿Ñ⌐ ¿º ß½ÑñπεΘ¿σ ¬«ñ«ó (ó
- ó«ß∞¼Ñα¿τ¡«⌐ ß¿ßΓѼÑ):
- 04000 í¿Γ πßΓá¡«ó¬¿ ¬«ñá ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩
- 02000 í¿Γ πßΓá¡«ó¬¿ úαπ»»«ó«ú« ¬«ñá ¿ñÑ¡Γ¿Σ¿¬áµ¿¿
- 01000 »α¿º¡á¬ sticky bit
- 00400 τΓÑ¡¿Ñ ó½áñѽ∞µÑ¼
- 00200 ºá»¿ß∞ ó½áñѽ∞µÑ¼
- 00100 ¿ß»«½¡Ñ¡¿Ñ ó½áñѽ∞µÑ¼
- 00040 τΓÑ¡¿Ñ úαπ»»«óδ¼ »«½∞º«óáΓѽѼ
- 00020 ºá»¿ß∞ úαπ»»«óδ¼ »«½∞º«óáΓѽѼ
- 00010 ¿ß»«½¡Ñ¡¿Ñ úαπ»»«óδ¼ »«½∞º«óáΓѽѼ
- 00004 τΓÑ¡¿Ñ »α«τ¿¼ »«½∞º«óáΓѽѼ
- 00002 ºá»¿ß∞ »α«τ¿¼ »«½∞º«óáΓѽѼ
- 00001 ¿ß»«½¡Ñ¡¿Ñ »α«τ¿¼ »«½∞º«óáΓѽѼ
-
-
- EchownF
- ______________________________
-
- chown(filename,owner,group)
- char *filename;
- int owner,group;
-
- öπ¡¬µ¿∩ chown ¼Ñ¡∩ÑΓ ¬«ñδ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ ó½áñѽ∞µá ¿ úαπ»»δ ñ½∩ π¬áºá¡¡«-
- ú« Σá⌐½á ¡á ¬«ñδ, π¬áºá¡¡δÑ ó »áαá¼ÑΓαáσ owner ¿ group.
-
-
- EchrootF
- ______________________________
-
-
- 401
-
- chroot(filename)
- char *filename;
-
- öπ¡¬µ¿∩ chroot ¿º¼Ñ¡∩ÑΓ τáßΓ¡δ⌐ ¬«αÑ¡∞ óδºδóáεΘÑú« »α«µÑßßá ó ß««ΓóÑΓßΓ-
- ó¿¿ ß« º¡áτÑ¡¿Ñ¼ »áαá¼ÑΓαá filename.
-
-
- EcloseF
- ______________________________
-
- close(fildes)
- int fildes;
-
- öπ¡¬µ¿∩ close ºá¬αδóáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á, »«½πτÑ¡¡δ⌐ ó αѺπ½∞ΓáΓÑ óδ»«½-
- ¡Ñ¡¿∩ Σπ¡¬µ¿⌐ open, creat, dup, pipe ¿½¿ fcntl, ¿½¿ π¡áß½Ññ«óá¡¡δ⌐ «Γ Σπ¡¬-
- 樨 fork.
-
-
- EcreatF
- ______________________________
-
- creat(filename,mode)
- char *filename;
- int mode;
-
- öπ¡¬µ¿∩ creat ß«ºñáÑΓ ¡«óδ⌐ Σá⌐½ ß π¬áºá¡¡δ¼¿ ¿¼Ñ¡Ñ¼ ¿ »αáóἿ ñ«ßΓπ»á.
- Åáαá¼ÑΓα mode ¿¼ÑÑà ëà ªÑ ß¼δß½, τΓ« ¿ ó Σπ¡¬µ¿¿ access, »α¿ φΓ«¼ »α¿º¡á¬
- sticky-bit «τ¿ΘÑ¡, á αáºα∩ñδ, πßΓá¡«ó½Ñ¡¡δÑ Σπ¡¬µ¿Ñ⌐ umask, ßíα«ΦÑ¡δ. öπ¡¬-
- µ¿∩ ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á ñ½∩ »«ß½ÑñπεΘÑú« ¿ß»«½∞º«óá¡¿∩ ó ñαπú¿σ Σπ¡-
- ¬µ¿∩σ.
-
-
- EdupF
- ______________________________
-
- dup(fildes)
- int fildes;
-
- öπ¡¬µ¿∩ dup ß«ºñáÑΓ ¬«»¿ε π¬áºá¡¡«ú« ñÑß¬α¿»Γ«αá Σá⌐½á, ó«ºóαáΘá∩ ñÑ߬-
- α¿»Γ«α ß ¡á¿¼Ñ¡∞Φ¿¼ ¡«¼Ñα«¼ ¿º ¿¼ÑεΘ¿σß∩ ó ß¿ßΓѼÑ. æΓáαδ⌐ ¿ ¡«óδ⌐ ñÑß¬α¿»-
- Γ«αδ ¿ß»«½∞ºπεΓ «ñ¿¡ ¿ ëà ªÑ π¬áºáΓѽ∞ ¡á Σá⌐½, á Γá¬ªÑ ¿ ñαπú¿Ñ ß«ó»áñáε-
- Θ¿Ñ áΓα¿íπΓδ.
-
-
- EexecF
- ______________________________
-
- execve(filename,argv,envp)
- char *filename;
- char *argv[];
- char *envp[];
-
- öπ¡¬µ¿∩ execve ¿ß»«½¡∩ÑΓ Σá⌐½ ß ¿¼Ñ¡Ñ¼ filename, ºáúαπªá∩ Ñú« ó áñαÑß¡«Ñ
- »α«ßΓαá¡ßΓó« ΓѬπΘÑú« »α«µÑßßá. Åáαá¼ÑΓα argv ß««ΓóÑΓßΓóπÑΓ ß»¿ß¬π áαúπ¼Ñ¡-
- Γ«ó ß¿¼ó«½∞¡«ú« Γ¿»á, »ÑαÑñáóáѼδσ ºá»π߬áѼ«⌐ »α«úαá¼¼Ñ, »áαá¼ÑΓα envp ß«-
- «ΓóÑΓßΓóπÑΓ ¼áßß¿óπ, «»¿ßδóáεΘѼπ ßαÑñπ óδ»«½¡Ñ¡¿∩ ¡«ó«ú« »α«µÑßßá.
-
-
-
-
- 402
- EexitF
- ______________________________
-
- exit(status)
- int status;
-
- öπ¡¬µ¿∩ exit ºáóÑαΦáÑΓ óδºδóáεΘ¿⌐ »α«µÑßß, ó«ºóαáΘá∩ Ñú« α«ñ¿Γѽε 8
- ¼½áñΦ¿σ αáºα∩ñ«ó ¿º ß½«óá ß«ßΓ«∩¡¿∩ »α«µÑßßá. ƒñα« ßἫ ¼«ªÑΓ óδºδóáΓ∞ φΓπ
- Σπ¡¬µ¿ε ó «ΓóÑΓ ¡á »«ßΓπ»½Ñ¡¿Ñ «»αÑñѽѡ¡δσ ß¿ú¡á½«ó.
-
-
- EfcntlF
- ______________________________
-
- fcntl(fildes,cmd,arg)
- int fildes,cmd,arg;
-
- öπ¡¬µ¿∩ fcntl «íÑß»Ñτ¿óáÑΓ óδ»«½¡Ñ¡¿Ñ ¡áí«αá αạ««íαạδσ «»Ñαᵿ⌐ »«
- «Γ¡«ΦÑ¡¿ε ¬ «Γ¬αδΓδ¼ Σá⌐½á¼, ¿ñÑ¡Γ¿Σ¿µ¿απÑ¼δ¼ ß »«¼«Θ∞ε ñÑß¬α¿»Γ«αá fildes.
- Åáαá¼ÑΓαδ cmd ¿ arg ¿¡ΓÑα»αÑΓ¿απεΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼ («»αÑñѽѡ¿Ñ íπ¬óÑ¡-
- ¡δσ ¬«¡ßΓá¡Γ σαá¡¿Γß∩ ó Σá⌐½Ñ "/usr/include/fcntl.h"):
-
- F_DUPFD óÑα¡πΓ∞ ¡á¿¼Ñ¡∞ΦÑÑ º¡áτÑ¡¿Ñ ñÑß¬α¿»Γ«αá, í«½∞ΦÑÑ
- ¿½¿ αáó¡«Ñ º¡áτÑ¡¿ε arg
- F_SETFD πßΓá¡«ó¿Γ∞ Σ½áú "close-on-exec" ó ¼½áñΦѼ αáºα∩-
- ñÑ arg (Σá⌐½ íπñÑΓ ºá¬αδΓ Σπ¡¬µ¿Ñ⌐ exec)
- F_GETFD óÑα¡πΓ∞ ß«ßΓ«∩¡¿Ñ Σ½áúá "close-on-exec"
- F_SETFL πßΓá¡«ó¿Γ∞ Σ½áú¿, π»αáó½∩εΘ¿Ñ ß«ßΓ«∩¡¿Ñ¼ Σá⌐½á
- (O_NDELAY - ¡Ñ »α¿«ßΓá¡áó½¿óáΓ∞ß∩ ó «ª¿ñá¡¿¿ ºá-
- óÑαΦÑ¡¿∩ óó«ñá-óδó«ñá, O_APPEND - ºá»¿ßδóáѼδÑ
- ñá¡¡δÑ ñ«íáó½∩Γ∞ ó ¬«¡Ñµ Σá⌐½á)
- F_GETFL »«½πτ¿Γ∞ º¡áτÑ¡¿∩ Σ½áú«ó, π»αáó½∩εΘ¿σ ß«ßΓ«∩¡¿Ñ¼
- Σá⌐½á
-
- struct flock
- short l_type; /* F_RDLCK - í½«¬¿α«ó¬á τΓÑ¡¿∩,
- F_WRLCK - í½«¬¿α«ó¬á ºá»¿ß¿,
- F_UNLCK - ß¡∩Γ¿Ñ í½«¬¿α«ó¬¿ */
- short l_whence; /* áñαÑß ¡áτá½á í½«¬¿απѼ«ú« πτáßΓ-
- ¬á ñáÑΓß∩ ó ó¿ñÑ ß¼ÑΘÑ¡¿∩ «Γ¡«-
- ß¿Γѽ∞¡« ¡áτá½á Σá⌐½á (0), «Γ¡«-
- ß¿Γѽ∞¡« ΓѬπΘÑ⌐ »«º¿µ¿¿ π¬áºá-
- Γѽ∩ (1), «Γ¡«ß¿Γѽ∞¡« ¬«¡µá
- Σá⌐½á (2) */
- long l_start; /* ß¼ÑΘÑ¡¿Ñ ó íá⌐Γáσ, ¿¡ΓÑα»αÑΓ¿απ-
- Ѽ«Ñ ó ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿Ñ¼
- l_whence */
- long l_len; /* ñ½¿¡á í½«¬¿απѼ«ú« πτáßΓ¬á ó
- íá⌐Γáσ. àß½¿ π¬áºá¡ 0, í½«¬¿απ-
- ÑΓß∩ πτáßΓ«¬ «Γ l_start ñ« ¬«¡µá
- Σá⌐½á */
- long l_pid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá, í½«¬¿απ-
- εΘÑú« Σá⌐½ */
- long l_sysid; /* ß¿ßΓѼ¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑß-
- ßá, í½«¬¿απεΘÑú« Σá⌐½ */
-
- F_GETLK »α«τ¿ΓáΓ∞ »Ñαóδ⌐ ¬«ñ í½«¬¿α«ó¬¿, ¼ÑΦáεΘÑ⌐ ¿ß-
- »«½∞º«óáΓ∞ º¡áτÑ¡¿Ñ arg ¿ ºáΓ¿αáΓ∞ Ñú«. àß½¿
- í½«¬¿α«ó¬á «ΓßπΓßΓóπÑΓ, »«¼Ñ¡∩Γ∞ º¡áτÑ¡¿Ñ l_type
- ó arg ¡á F_UNLCK
-
- 403
-
- F_SETLK πßΓá¡«ó¿Γ∞ ¿½¿ ß¡∩Γ∞ í½«¬¿α«ó¬π Σá⌐½á ó ºáó¿ß¿-
- ¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ arg. é ß½πτáÑ ¡Ñ󫺼«ª¡«ßΓ¿
- πßΓá¡«ó¿Γ∞ í½«¬¿α«ó¬π óÑα¡πΓ∞ -1
- F_SETLKW πßΓá¡«ó¿Γ∞ ¿½¿ ß¡∩Γ∞ í½«¬¿α«ó¬π ß«ñÑαªáΘ¿σß∩ ó
- Σá⌐½Ñ ñá¡¡δσ ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ arg. é
- ß½πτáÑ ¡Ñ󫺼«ª¡«ßΓ¿ πßΓá¡«ó¿Γ∞ í½«¬¿α«ó¬π »α¿-
- «ßΓá¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ
-
- ü½«¬¿α«ó¬¿, ßó∩ºá¡¡δÑ ß τΓÑ¡¿Ñ¼ ¿º Σá⌐½á, ¼«úπΓ »ÑαѬαδóáΓ∞ ñαπú ñαπ-
- úá. ü½«¬¿α«ó¬¿, ßó∩ºá¡¡δÑ ß ºá»¿ß∞ε, »ÑαѬαδóáΓ∞ß∩ ¡Ñ ¼«úπΓ.
-
-
- EforkF
- ______________________________
-
- fork()
-
- öπ¡¬µ¿∩ fork ß«ºñáÑΓ ¡«óδ⌐ »α«µÑßß. Å«α«ªñáѼδ⌐ »α«µÑßß »αÑñßΓáó½∩ÑΓ ß«-
- í«⌐ ½«ú¿τÑ߬πε ¬«»¿ε »α«µÑßßá-α«ñ¿Γѽ∩. ìá óδσ«ñÑ ¿º Σπ¡¬µ¿¿ »α«µÑßßπ-α«ñ¿-
- Γѽε ó«ºóαáΘáÑΓß∩ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«Γ«¼¬á, »«Γ«¼¬π - ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ.
-
-
- EgetpidF
- ______________________________
-
- getpid()
-
- öπ¡¬µ¿∩ getpid ó«ºóαáΘáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α óδºδóáεΘÑú« »α«µÑßßá. ¥Γπ ªÑ
- Γ«τ¬π óσ«ñá ¿ß»«½∞ºπεΓ Σπ¡¬µ¿¿: getpgrp, ó«ºóαáΘáεΘá∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α úαπ»»δ,
- ó ¬«Γ«απε óσ«ñ¿Γ óδºδóáεΘ¿⌐ »α«µÑßß, ¿ getppid, ó«ºóαáΘáεΘá∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α
- »α«µÑßßá, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ α«ñ¿ΓѽѼ ΓѬπΘÑú« »α«µÑßßá.
-
-
- EgetuidF
- ______________________________
-
- getuid()
-
- öπ¡¬µ¿∩ getuid ó«ºóαáΘáÑΓ Σá¬Γ¿τÑ߬¿⌐ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩ óδ-
- ºδóáεΘÑú« »α«µÑßßá. ¥Γπ ªÑ Γ«τ¬π óσ«ñá ¿ß»«½∞ºπεΓ Σπ¡¬µ¿¿: geteuid, ó«ºóαá-
- ΘáεΘá∩ ¿ß»«½¡¿Γѽ∞¡δ⌐ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩, getgid, ó«ºóαáΘáεΘá∩
- úαπ»»«ó«⌐ ¬«ñ, ¿ getegid, ó«ºóαáΘáεΘá∩ ¿ß»«½¡¿Γѽ∞¡δ⌐ úαπ»»«ó«⌐ ¬«ñ ¿ñÑ¡Γ¿-
- Σ¿¬áµ¿¿ óδºδóáεΘÑú« »α«µÑßßá.
-
-
- EioctlF
- ______________________________
-
- ioctl(fildes,cmd,arg)
- int fildes,cmd;
-
- öπ¡¬µ¿∩ ioctl óδ»«½¡∩ÑΓ ¡áí«α ߻ѵ¿á½∞¡δσ «»Ñαᵿ⌐ »« «Γ¡«ΦÑ¡¿ε ¬ «Γ¬αδ-
- Γ«¼π πßΓα«⌐ßΓóπ, ñÑß¬α¿»Γ«α ¬«Γ«α«ú« π¬áºá¡ ó »áαá¼ÑΓαÑ fildes. Æ¿» ¬«¼á¡ñδ,
- óδ»«½¡∩Ѽ«⌐ »« «Γ¡«ΦÑ¡¿ε ¬ πßΓα«⌐ßΓóπ, «»¿ßδóáÑΓß∩ »áαá¼ÑΓα«¼ cmd, á »áαá-
- ¼ÑΓα arg ∩ó½∩ÑΓß∩ áαúπ¼Ñ¡Γ«¼ ¬«¼á¡ñδ.
-
-
- EkillF
- ______________________________
-
- 404
-
- kill(pid,sig)
- int pid,sig;
-
- öπ¡¬µ¿∩ kill »«ßδ½áÑΓ »α«µÑßßá¼, ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ¬«Γ«αδσ π¬áºá¡δ ó »áαá-
- ¼ÑΓαÑ pid, ß¿ú¡á½, «»¿ßδóáѼδ⌐ »áαá¼ÑΓα«¼ sig.
-
- pid ¿¼ÑÑΓ ß¿ú¡á½ »«ßδ½áÑΓß∩ »α«µÑßßπ ß ¿ñÑ¡Γ¿Σ¿¬á-
- »«½«ª¿Γѽ∞- Γ«α«¼ pid
- ¡«Ñ º¡áτÑ¡¿Ñ
- pid = 0 ß¿ú¡á½ »«ßδ½áÑΓß∩ »α«µÑßßá¼, úαπ»»«ó«⌐
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¬«Γ«αδσ ß«ó»áñáÑΓ ß ¿ñÑ¡-
- Γ¿Σ¿¬áΓ«α«¼ «Γ»αáó¿Γѽ∩
- pid = -1 Ñß½¿ »α«µÑßß-«Γ»αáó¿Γѽ∞ ¿ß»«½¡∩ÑΓß∩ »«ñ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ßπ»Ñα»«½∞º«óáΓѽ∩, ß¿ú-
- ¡á½ »«ßδ½áÑΓß∩ óßѼ »α«µÑßßá¼, ó »α«Γ¿ó-
- ¡«¼ ß½πτáÑ, ß¿ú¡á½ »«ßδ½áÑΓß∩ »α«µÑßßá¼,
- Σá¬Γ¿τÑ߬¿⌐ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óá-
- Γѽ∩ 𠬫ëαδσ ß«ó»áñáÑΓ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«-
- α«¼ ßπ»Ñα»«½∞º«óáΓѽ∩
- pid < -1 ß¿ú¡á½ »«ßδ½áÑΓß∩ »α«µÑßßá¼, úαπ»»«ó«⌐
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¬«Γ«αδσ ß«ó»áñáÑΓ ß pid
-
- êß»«½¡¿Γѽ∞¡δ⌐ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩ »α«µÑßßá-«Γ»αáó¿Γѽ∩ ñ«½-
- ªÑ¡ π¬áºδóáΓ∞ ¡á ßπ»Ñα»«½∞º«óáΓѽ∩, ó »α«Γ¿ó¡«¼ ß½πτáÑ, Σá¬Γ¿τÑ߬¿⌐ ¿½¿ ¿ß-
- »«½¡¿Γѽ∞¡δ⌐ ¬«ñδ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ «Γ»αáó¿Γѽ∩ ñ«½ª¡δ ß«ó»áñáΓ∞ ß ß««ΓóÑΓßΓóπε-
- Θ¿¼¿ ¬«ñἿ »α«µÑßß«ó-»«½πτáΓѽÑ⌐.
-
-
- ElinkF
- ______________________________
-
- link(filename1,filename2)
- char *filename1,*filename2;
-
- öπ¡¬µ¿∩ link »α¿ßóá¿óáÑΓ Σá⌐½π filename1 ¡«ó«Ñ ¿¼∩ filename2. öá⌐½ ßΓá-
- ¡«ó¿Γß∩ ñ«ßΓπ»¡δ¼ »«ñ ½εíδ¼ ¿º φΓ¿σ ¿¼Ñ¡.
-
-
- ElseekF
- ______________________________
-
- lseek(fildes,offset,origin)
- int fildes,origin;
- long offset;
-
- öπ¡¬µ¿∩ lseek ¿º¼Ñ¡∩ÑΓ »«½«ªÑ¡¿Ñ π¬áºáΓѽ∩ τΓÑ¡¿∩-ºá»¿ß¿ ñ½∩ Σá⌐½á ß
- ñÑß¬α¿»Γ«α«¼ fildes ¿ ó«ºóαáΘáÑΓ ¡«ó«Ñ º¡áτÑ¡¿Ñ. Å«½«ªÑ¡¿Ñ π¬áºáΓѽ∩ ºáó¿ß¿Γ
- «Γ º¡áτÑ¡¿∩ »áαá¼ÑΓαá origin:
-
- 0 πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ ¡á »«º¿µ¿ε, ß««ΓóÑΓßΓóπεΘπε π¬á-
- ºá¡¡«¼π ß¼ÑΘÑ¡¿ε ó íá⌐Γáσ «Γ ¡áτá½á Σá⌐½á
- 1 ßñó¿¡πΓ∞ π¬áºáΓѽ∞ ß Ñú« ΓѬπΘÑ⌐ »«º¿µ¿¿ ¡á π¬áºá¡¡«Ñ
- ß¼ÑΘÑ¡¿Ñ
- 2 πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ ¡á »«º¿µ¿ε, ß««ΓóÑΓßΓóπεΘπε π¬á-
- ºá¡¡«¼π ß¼ÑΘÑ¡¿ε ó íá⌐Γáσ «Γ ¬«¡µá Σá⌐½á
-
-
- EmknodF
- ______________________________
-
- 405
-
- mknod(filename,modes,dev)
- char *filename;
- int mode,dev;
-
- öπ¡¬µ¿∩ mknod ß«ºñáÑΓ ß»Ñµ¿á½∞¡δ⌐ Σá⌐½, ¬áΓὫú ¿½¿ »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½
- («τÑαÑñ∞ »« »α¿¡µ¿»π "»Ñαóδ¼ »α¿Φѽ - »Ñαóδ¼ óδΦѽ") ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ-
- ¡¿∩ »áαá¼ÑΓαá modes:
-
- 010000 »«¿¼Ñ¡«óá¡¡δ⌐ ¬á¡á½
- 020000 ߻ѵ¿á½∞¡δ⌐ Σá⌐½ πßΓα«⌐ßΓóá óó«ñá-óδó«ñá ß¿¼ó«½á¼¿
- 040000 ¬áΓὫú
- 060000 ߻ѵ¿á½∞¡δ⌐ Σá⌐½ πßΓα«⌐ßΓóá óó«ñá-óδó«ñá í½«¬á¼¿
-
- 12 ¼½áñΦ¿σ αáºα∩ñ«ó »áαá¼ÑΓαá modes ¿¼Ñεà ëà ªÑ ßá¼δ⌐ ß¼δß½, τΓ« ¿ ó
- Σπ¡¬µ¿¿ chmod. àß½¿ Σá⌐½ ¿¼ÑÑΓ ß»Ñµ¿á½∞¡δ⌐ Γ¿», »áαá¼ÑΓα dev ß«ñÑαª¿Γ ßΓáα-
- Φ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá.
-
-
- EmountF
- ______________________________
-
- mount(specialfile,dir,rwflag)
- char *specialfile,*dir;
- int rwflag;
-
- öπ¡¬µ¿∩ mount óδ»«½¡∩ÑΓ ¼«¡Γ¿α«óá¡¿Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ, ¡á ¬«Γ«απε π¬áºδ-
- óáÑΓ »áαá¼ÑΓα specialfile, ó ¬áΓὫúÑ dir. àß½¿ ¼½áñΦ¿⌐ í¿Γ »áαá¼ÑΓαá rwflag
- πßΓá¡«ó½Ñ¡, Σá⌐½«óá∩ ß¿ßΓÑ¼á ¼«¡Γ¿απÑΓß∩ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩.
-
-
- EmsgctlF
- ______________________________
-
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/msg.h>
-
- msgctl(id,cmd,buf)
- int id,cmd;
- struct msgid_ds *buf;
-
- é ºáó¿ß¿¼«ßΓ¿ «Γ «»Ñαᵿ¿, π¬áºá¡¡«⌐ ó »áαá¼ÑΓαÑ cmd, Σπ¡¬µ¿∩ msgctl ñá-
- ÑΓ »α«µÑßßἠ󫺼«ª¡«ßΓ∞ πßΓá¡áó½¿óáΓ∞ ¿½¿ ºá»αáΦ¿óáΓ∞ ¿¡Σ«α¼áµ¿ε « ßΓáΓπßÑ
- «τÑαÑñ¿ ß««íΘÑ¡¿⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id, á Γá¬ªÑ πñá½∩Γ∞ «τÑαÑñ∞ ¿º ß¿ßΓѼδ.
- æΓαπ¬Γπαá msquid_ds «»αÑñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- struct ipc_perm {
- ushort uid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α ΓѬπΘÑú« »«½∞º«óáΓѽ∩ */
- ushort gid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α ΓѬπΘÑ⌐ úαπ»»δ */
- ushort cuid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »«½∞º«óáΓѽ∩-ß«ºñáΓѽ∩ */
- ushort cgid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α úαπ»»δ ß«ºñáΓѽ∩ */
- ushort mode; /* »αáóá ñ«ßΓπ»á */
- short pad1; /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓѼ«⌐ */
- long pad2; /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓѼ«⌐ */
- };
-
- struct msquid_ds {
- struct ipc_perm msg_perm; /* ßΓαπ¬Γπαá, «»¿ßδóáεΘá∩
- »αáóá ñ«ßΓπ»á */
-
- 406
-
- short pad1[7]; /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓѼ«⌐ */
- ushort msg_qnum; /* ¬«½¿τÑßΓó« ß««íΘÑ¡¿⌐ ó
- «τÑαÑñ¿ */
- ushort msg_qbytes; /* ¼á¬ß¿¼á½∞¡δ⌐ αẼÑα
- «τÑαÑñ¿ ó íá⌐Γáσ */
- ushort msg_lspid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá,
- ßó∩ºá¡¡«ú« ß »«ß½Ññ¡Ñ⌐
- »«ß佬«⌐ ß««íΘÑ¡¿∩ */
- ushort msg_lrpid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá,
- ßó∩ºá¡¡«ú« ß »«ß½Ññ¡¿¼
- »«½πτÑ¡¿Ñ¼ ß««íΘÑ¡¿∩ */
- time_t msg_stime; /* óαѼ∩ »«ß½Ññ¡Ñ⌐ »«ß佬¿
- ß««íΘÑ¡¿∩ */
- time_t msg_rtime; /* óαѼ∩ »«ß½Ññ¡Ñú« »«½π-
- τÑ¡¿∩ ß««íΘÑ¡¿∩ */
- time_t msg_ctime; /* óαѼ∩ »«ß½Ññ¡Ñú« ¿º¼Ñ-
- ¡Ñ¡¿∩ */
- };
-
- Æ¿»δ «»Ñαᵿ⌐:
-
- IPC_STAT Åα«τ¿ΓáΓ∞ ó íπΣÑα ºáú«½«ó«¬ «τÑαÑñ¿ ß««íΘÑ¡¿⌐, áß-
- ß«µ¿¿α«óá¡¡δ⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id
- IPC_SET ôßΓá¡«ó¿Γ∞ º¡áτÑ¡¿∩ »ÑαѼѡ¡δσ msg_perm.uid,
- msg_perm.gid, msg_perm.mode (9 ¼½áñΦ¿σ αáºα∩ñ«ó
- ßΓαπ¬Γπαδ msg_perm) ¿ mgr_qbytes ó ß««ΓóÑΓßΓó¿¿ ß«
- º¡áτÑ¡¿∩¼¿, ß«ñÑαªáΘ¿¼¿ß∩ ó íπΣÑαÑ
- IPC_RMID ôñ὿Γ∞ ¿º ß¿ßΓÑ¼δ «τÑαÑñ∞ ß««íΘÑ¡¿⌐ ß ¿ñÑ¡Γ¿Σ¿¬á-
- Γ«α«¼ id
-
-
- EmsggetF
- ______________________________
-
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/msg.h>
-
- msgget(key,flag)
- key_t key;
- int flag;
-
- öπ¡¬µ¿∩ msgget ó«ºóαáΘáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α «τÑαÑñ¿ ß««íΘÑ¡¿⌐, ¿¼∩ ¬«Γ«α«⌐
- π¬áºá¡« ó key. Åáαá¼ÑΓα key ¼«ªÑΓ π¬áºδóáΓ∞ ¡á Γ«, τΓ« ó«ºóαáΘáѼδ⌐ ¿ñÑ¡Γ¿-
- Σ¿¬áΓ«α «Γ¡«ß¿Γß∩ ¬ τáßΓ¡«⌐ «τÑαÑñ¿ (IPC_PRIVATE), ó φΓ«¼ ß½πτáÑ ß«ºñáÑΓß∩
- ¡«óá∩ «τÑαÑñ∞ ß««íΘÑ¡¿⌐. æ »«¼«Θ∞ε »áαá¼ÑΓαá flag ¼«ª¡« ßñѽáΓ∞ π¬áºá¡¿Ñ «
- ¡Ñ«íσ«ñ¿¼«ßΓ¿ ß«ºñá¡¿∩ «τÑαÑñ¿ (IPC_CREAT), á Γá¬ªÑ « Γ«¼, τΓ« ß«ºñá¡¿Ñ «τÑ-
- αÑñ¿ ñ«½ª¡« óδ»«½¡∩Γ∞ß∩ ¼«¡«»«½∞¡« (IPC_EXCL). é »«ß½Ññ¡Ñ¼ ß½πτáÑ, Ñß½¿ «τÑ-
- αÑñ∞ πªÑ ßπΘÑßΓóπÑΓ, Σπ¡¬µ¿∩ msgget ñáÑΓ «Γ¬áº.
-
-
- Emsgsnd ¿ msgrcvF
- ______________________________
-
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/msg.h>
-
- msgsnd(id,msgp,size,flag)
-
- 407
-
- int id,size,flag;
- struct msgbuf *msgp;
-
- msgrcv(id,msgp,size,type,flag)
- int id,size,type,flag;
- struct msgbuf *msgmp;
-
- öπ¡¬µ¿∩ msgsnd »«ßδ½áÑΓ ß««íΘÑ¡¿Ñ π¬áºá¡¡«ú« αẼÑαá ó íá⌐Γáσ (size) ¿º
- íπΣÑαá msgp ó «τÑαÑñ∞ ß««íΘÑ¡¿⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id. æΓαπ¬Γπαá msgbuf «»αÑ-
- ñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- struct msgbuf {
- long mtype;
- char mtext[];
- };
-
- àß½¿ ó »áαá¼ÑΓαÑ flag í¿Γ IPC_NOWAIT ßíα«ΦÑ¡, Σπ¡¬µ¿∩ msgsnd íπñÑΓ »α¿-
- «ßΓá¡áó½¿óáΓ∞ß∩ ó ΓÑσ ß½πτá∩σ, ¬«úñá αẼÑα «Γñѽ∞¡«ú« ß««íΘÑ¡¿∩ ¿½¿ τ¿ß½«
- ß««íΘÑ¡¿⌐ ó ß¿ßΓÑ¼Ñ »αÑóδΦáεΓ ñ«»πßΓ¿¼δ⌐ ¼á¬ß¿¼π¼. àß½¿ í¿Γ IPC_NOWAIT πßΓá-
- ¡«ó½Ñ¡, Σπ¡¬µ¿∩ msgsnd ó φΓ¿σ ß½πτá∩σ »αÑαδóáÑΓ ßó«Ñ óδ»«½¡Ñ¡¿Ñ.
- öπ¡¬µ¿∩ msgrcv »α¿¡¿¼áÑΓ ß««íΘÑ¡¿Ñ ¿º «τÑαÑñ¿ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id. àß½¿
- »áαá¼ÑΓα type ¿¼ÑÑΓ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, ¿º «τÑαÑñ¿ íπñÑΓ óδíαá¡« ß««íΘÑ¡¿Ñ,
- »Ñαó«Ñ »« ßτÑΓπ; Ñß½¿ »«½«ª¿Γѽ∞¡«Ñ º¡áτÑ¡¿Ñ, ¿º «τÑαÑñ¿ óδí¿αáÑΓß∩ »Ñαó«Ñ
- ß««íΘÑ¡¿Ñ ñá¡¡«ú« Γ¿»á; Ñß½¿ «Γα¿µáΓѽ∞¡«Ñ º¡áτÑ¡¿Ñ, ¿º «τÑαÑñ¿ óδí¿αáÑΓß∩
- ß««íΘÑ¡¿Ñ, ¿¼ÑεΘÑÑ ßá¼δ⌐ ¼½áñΦ¿⌐ Γ¿» ßαÑñ¿ ΓÑσ Γ¿»«ó, º¡áτÑ¡¿Ñ ¬«Γ«αδσ ¡Ñ
- »αÑóδΦáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá type. é »áαá¼ÑΓαÑ size π¬áºδóáÑΓß∩
- ¼á¬ß¿¼á½∞¡δ⌐ αẼÑα ß««íΘÑ¡¿∩, «ª¿ñáѼ«ú« »«½∞º«óáΓѽѼ. àß½¿ ó »áαá¼ÑΓαÑ
- flag πßΓá¡«ó½Ñ¡ í¿Γ MSG_NOERROR, ó Γ«¼ ß½πτáÑ, ¬«úñá αẼÑα »«½πτáѼ«ú« ß«-
- «íΘÑ¡¿∩ »αÑóδß¿Γ »αÑñѽ, πßΓá¡«ó½Ñ¡¡δ⌐ »áαá¼ÑΓα«¼ size, ∩ñα« «íαѪÑΓ φΓ« ß«-
- «íΘÑ¡¿Ñ. àß½¿ ªÑ ß««ΓóÑΓßΓóπεΘ¿⌐ í¿Γ ßíα«ΦÑ¡, ó »«ñ«í¡δσ ß½πτá∩σ Σπ¡¬µ¿∩ íπ-
- ñÑΓ ó«ºóαáΘáΓ∞ «Φ¿í¬π. àß½¿ ó »áαá¼ÑΓαÑ flag í¿Γ IPC_NOWAIT ßíα«ΦÑ¡, Σπ¡¬µ¿∩
- msgrcv »α¿«ßΓá¡«ó¿Γ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ñ« ΓÑσ »«α, »«¬á ß««íΘÑ¡¿Ñ, πñ«ó½ÑΓó«α∩-
- εΘÑÑ π¬áºá¡¡«¼π ó »áαá¼ÑΓαÑ type πß½«ó¿ε, ¡Ñ íπñÑΓ »«½πτÑ¡«. àß½¿ ß««ΓóÑΓßΓ-
- óπεΘ¿⌐ í¿Γ ßíα«ΦÑ¡, Σπ¡¬µ¿∩ ºáóÑαΦ¿Γ ßó«ε αáí«Γπ ¡Ñ¼Ññ½Ñ¡¡«. öπ¡¬µ¿∩ msgrcv
- ó«ºóαáΘáÑΓ αẼÑα »«½πτÑ¡¡«ú« ß««íΘÑ¡¿∩ (ó íá⌐Γáσ).
-
-
- EniceF
- ______________________________
-
- nice(increment)
- int increment;
-
- öπ¡¬µ¿∩ nice πóѽ¿τ¿óáÑΓ º¡áτÑ¡¿Ñ ß««ΓóÑΓßΓóπεΘÑ⌐ ¬«¼»«¡Ñ¡Γδ, πτáßΓóπε-
- ΘÑ⌐ ó óδτ¿ß½Ñ¡¿¿ »α¿«α¿ΓÑΓá »½á¡¿α«óá¡¿∩ ΓѬπΘÑú« »α«µÑßßá, ¡á óѽ¿τ¿¡π
- increment. ôóѽ¿τÑ¡¿Ñ º¡áτÑ¡¿∩ nice óÑñÑΓ ¬ ß¡¿ªÑ¡¿ε »α¿«α¿ΓÑΓá »½á¡¿α«óá-
- ¡¿∩.
-
-
- EopenF
- ______________________________
-
- #include <fcntl.h>
-
- open(filename,flag,mode)
- char *filename;
- int flag,mode;
-
- öπ¡¬µ¿∩ open óδ»«½¡∩ÑΓ «Γ¬αδΓ¿Ñ π¬áºá¡¡«ú« Σá⌐½á ó ß««ΓóÑΓßΓó¿¿ ß« º¡á-
-
- 408
-
- τÑ¡¿Ñ¼ »áαá¼ÑΓαá flag. ç¡áτÑ¡¿Ñ »áαá¼ÑΓαá flag »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¼í¿¡áµ¿ε
- ¿º ß½ÑñπεΘ¿σ αáºα∩ñ«ó (»α¿τѼ ¿º »Ñαóδσ ΓαÑσ αáºα∩ñ«ó ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡
- Γ«½∞¬« «ñ¿¡):
-
- O_RDONLY «Γ¬αδΓ∞ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩
- O_WRONLY «Γ¬αδΓ∞ Γ«½∞¬« ñ½∩ ºá»¿ß¿
- O_RDWR «Γ¬αδΓ∞ ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿
- O_NDELAY Ñß½¿ Σá⌐½ ∩ó½∩ÑΓß∩ ߻ѵ¿á½∞¡δ¼ Σá⌐½«¼ πßΓα«⌐-
- ßΓóá, Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ, ¡Ñ ñ«ª¿ñá-
- ∩ß∞ «ΓóÑΓ¡«ú« ß¿ú¡á½á; Ñß½¿ Σá⌐½ ∩ó½∩ÑΓß∩ »«¿¼Ñ-
- ¡«óá¡¡δ¼ ¬á¡á½«¼, Σπ¡¬µ¿∩ ó ß½πτáÑ ¡Ñπñáτ¿
- ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ ¡Ñ¼Ññ½Ñ¡¡« (ß ¿¡ñ¿¬áµ¿Ñ⌐
- «Φ¿í¬¿, ¬«úñá í¿Γ O_WRONLY πßΓá¡«ó½Ñ¡), ¡Ñ ñ«ª¿-
- ñá∩ß∞ «Γ¬αδΓ¿∩ Σá⌐½á ñαπú¿¼ »α«µÑßß«¼
- O_APPEND ñ«íáó½∩ѼδÑ ñá¡¡δÑ ºá»¿ßδóáΓ∞ ó ¬«¡Ñµ Σá⌐½á
- O_CREAT Ñß½¿ Σá⌐½ ¡Ñ ßπΘÑßΓóπÑΓ, ß«ºñáΓ∞ Ñú«; αѪ¿¼ ß«º-
- ñá¡¿∩ (mode) ¿¼ÑÑà ëà ªÑ ß¼δß½, τΓ« ¿ ó Σπ¡¬µ¿¿
- creat; Ñß½¿ Σá⌐½ πªÑ ßπΘÑßΓóπÑΓ, ñá¡¡δ⌐ Σ½áú ¿ú-
- ¡«α¿απÑΓß∩
- O_TRUNC π¬«α«Γ¿Γ∞ ñ½¿¡π Σá⌐½á ñ« 0
- O_EXCL Ñß½¿ φëà í¿Γ ¿ í¿Γ O_CREAT πßΓá¡«ó½Ñ¡δ ¿ Σá⌐½
- ßπΘÑßΓóπÑΓ, Σπ¡¬µ¿∩ ¡Ñ íπñÑΓ óδ»«½¡∩Γ∞ß∩; φΓ«
- Γᬠ¡áºδóáѼ«Ñ "¼«¡«»«½∞¡«Ñ «Γ¬αδΓ¿Ñ"
-
- öπ¡¬µ¿∩ open ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«α Σá⌐½á ñ½∩ »«ß½ÑñπεΘÑú« ¿ß»«½∞º«óá¡¿∩
- ó ñαπú¿σ ß¿ßΓѼ¡δσ Σπ¡¬µ¿∩σ.
-
-
- EpauseF
- ______________________________
-
- pause()
-
- öπ¡¬µ¿∩ pause »α¿«ßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ ΓѬπΘÑú« »α«µÑßßá ñ« »«½πτÑ¡¿∩
- ß¿ú¡á½á.
-
-
- EpipeF
- ______________________________
-
- pipe(fildes)
- int fildes[2];
-
- öπ¡¬µ¿∩ pipe ó«ºóαáΘáÑΓ ñÑß¬α¿»Γ«αδ τΓÑ¡¿∩ ¿ ºá»¿ß¿ (ß««ΓóÑΓßΓóÑ¡¡«, ó
- fildes[0] ¿ fildes[1]) ñ½∩ ñá¡¡«ú« ¬á¡á½á. äá¡¡δÑ »ÑαÑñáεΓß∩ τÑαѺ ¬á¡á½ ó
- »«α∩ñ¬Ñ »«ßΓπ»½Ñ¡¿∩; «ñ¡¿ ¿ ΓÑ ªÑ ñá¡¡δÑ ¡Ñ ¼«úπΓ íδΓ∞ »α«τ¿Γá¡δ ñóáªñδ.
-
-
- EplockF
- ______________________________
-
- #include <sys/lock.h>
-
- plock(op)
- int op;
-
- öπ¡¬µ¿∩ plock πßΓá¡áó½¿óáÑΓ ¿ ß¡¿¼áÑΓ í½«¬¿α«ó¬π «í½áßΓÑ⌐ »α«µÑßßá ó »á-
- ¼∩Γ¿ ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ »áαá¼ÑΓαá op:
-
-
- 409
-
- PROCLOCK ºáí½«¬¿α«óáΓ∞ ó »á¼∩Γ¿ «í½áßΓ¿ ¬«¼á¡ñ ¿ ñá¡¡δσ
- TXTLOCK ºáí½«¬¿α«óáΓ∞ ó »á¼∩Γ¿ «í½áßΓ∞ ¬«¼á¡ñ
- DATLOCK ºáí½«¬¿α«óáΓ∞ ó »á¼∩Γ¿ «í½áßΓ∞ ñá¡¡δσ
- UNLOCK ß¡∩Γ∞ í½«¬¿α«ó¬π óßÑσ «í½áßΓÑ⌐
-
-
- EprofilF
- ______________________________
-
- profil(buf,size,offset,scale)
- char *buf;
- int size,offset,scale;
-
- öπ¡¬µ¿∩ profil ºá»αáΦ¿óáÑΓ π ∩ñαá »α«Σ¿½∞ óδ»«½¡Ñ¡¿∩ »α«µÑßßá. Åáαá¼ÑΓα
- buf «»αÑñѽ∩ÑΓ ¼áßß¿ó, ¡á¬á»½¿óáεΘ¿⌐ τ¿ß½« ¬«»¿⌐ »α«µÑßßá, óδ»«½¡∩εΘ¿σß∩ ó
- αạδσ áñαÑßáσ. Åáαá¼ÑΓα size «»αÑñѽ∩ÑΓ αẼÑα ¼áßß¿óá buf, offset - ¡á-
- τá½∞¡δ⌐ áñαÑß πτáßΓ¬á »α«Σ¿½¿α«óá¡¿∩, scale - ¬«φΣΣ¿µ¿Ñ¡Γ ¼áßΦΓáí¿α«óá¡¿∩.
-
-
- EptraceF
- ______________________________
-
- ptrace(cmd,pid,addr,data)
- int cmd,pid,addr,data;
-
- öπ¡¬µ¿∩ ptrace ñáÑΓ ΓѬπΘѼπ »α«µÑßßπ 󫺼«ª¡«ßΓ∞ óδ»«½¡∩Γ∞ Γαáßß¿α«ó¬π
- ñαπú«ú« »α«µÑßßá, ¿¼ÑεΘÑú« ¿ñÑ¡Γ¿Σ¿¬áΓ«α pid, ó ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿Ñ¼
- »áαá¼ÑΓαá cmd:
-
- 0 αáºαÑΦ¿Γ∞ Γαáßß¿α«ó¬π »«Γ«¼¬π (»« Ñú« π¬áºá¡¿ε)
- 1,2 óÑα¡πΓ∞ ß½«ó«, αáß»«½«ªÑ¡¡«Ñ »« áñαÑßπ addr ó »α«ßΓ-
- αá¡ßΓóÑ Γαáßß¿απѼ«ú« »α«µÑßßá ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ pid
- 3 óÑα¡πΓ∞ ß½«ó«, αáß»«½«ªÑ¡¡«Ñ ó »α«ßΓαá¡ßΓóÑ Γαáßß¿απ-
- Ѽ«ú« »α«µÑßßá »« áñαÑßπ ß« ß¼ÑΘÑ¡¿Ñ¼ addr
- 4,5 ºá»¿ßáΓ∞ º¡áτÑ¡¿Ñ »« áñαÑßπ addr ó »α«ßΓαá¡ßΓóÑ Γαáß-
- ß¿απѼ«ú« »α«µÑßßá
- 6 ºá»¿ßáΓ∞ º¡áτÑ¡¿Ñ »« áñαÑßπ ß« ß¼ÑΘÑ¡¿Ñ¼ addr
- 7 ºáßΓáó¿Γ∞ Γαáßß¿απѼδ⌐ »α«µÑßß ó«º«í¡«ó¿Γ∞ ßó«Ñ óδ-
- »«½¡Ñ¡¿Ñ
- 8 ºáßΓáó¿Γ∞ Γαáßß¿απѼδ⌐ »α«µÑßß ºáóÑαΦ¿Γ∞ ßó«Ñ óδ»«½-
- ¡Ñ¡¿Ñ
- 9 ¼áΦ¿¡¡«-ºáó¿ß¿¼á∩ ¬«¼á¡ñá - πßΓá¡«ó¿Γ∞ ó ß½«óÑ ß«ßΓ«-
- ∩¡¿∩ »α«úαá¼¼δ í¿Γ ñ½∩ «Γ½áñ¬¿ ó αѪ¿¼Ñ »«Φáú«ó«ú«
- óδ»«½¡Ñ¡¿∩
-
-
- EreadF
- ______________________________
-
- read(fildes,buf,size)
- int fildes;
- char *buf;
- int size;
-
- öπ¡¬µ¿∩ read óδ»«½¡∩ÑΓ τΓÑ¡¿Ñ ¿º Σá⌐½á ß ñÑß¬α¿»Γ«α«¼ fildes ó »«½∞º«óá-
- Γѽ∞߬¿⌐ íπΣÑα buf π¬áºá¡¡«ú« ó »áαá¼ÑΓαÑ size ¬«½¿τÑßΓóá íá⌐Γ. öπ¡¬µ¿∩ ó«º-
- óαáΘáÑΓ τ¿ß½« Σá¬Γ¿τÑ߬¿ »α«τ¿Γá¡¡δσ íá⌐Γ. àß½¿ Σá⌐½ ∩ó½∩ÑΓß∩ ߻ѵ¿á½∞¡δ¼
- Σá⌐½«¼ πßΓα«⌐ßΓóá ¿½¿ ¬á¡á½«¼ ¿ Ñß½¿ ó ó맮óÑ Σπ¡¬µ¿¿ open íδ½ πßΓá¡«ó½Ñ¡
- í¿Γ O_NDELAY, Σπ¡¬µ¿∩ read ó ß½πτáÑ «ΓßπΓßΓó¿∩ ñ«ßΓπ»¡δσ ñ½∩ τΓÑ¡¿∩ ñá¡¡δσ
-
- 410
-
- ó«ºóαáΓ¿Γ π»αáó½Ñ¡¿Ñ ¡Ñ¼Ññ½Ñ¡¡«.
-
-
- EsemctlF
- ______________________________
-
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/sem.h>
-
- semctl(id,num,cmd,arg)
- int id,num,cmd;
- union semun {
- int val;
- struct semid_ds *buf;
- ushort *array;
- } arg;
-
- öπ¡¬µ¿∩ semctl óδ»«½¡∩ÑΓ π¬áºá¡¡πε ó »áαá¼ÑΓαÑ cmd «»Ñαáµ¿ε ¡áñ «τÑαÑñ∞ε
- ßѼáΣ«α«ó ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id.
-
- GETVAL óÑα¡πΓ∞ º¡áτÑ¡¿Ñ Γ«ú« ßѼáΣ«αá, ¡á ¬«Γ«αδ⌐ π¬áºδ-
- óáÑΓ »áαá¼ÑΓα num
- SETVAL πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿Ñ ßѼáΣ«αá, ¡á ¬«Γ«αδ⌐ π¬áºδóá-
- ÑΓ »áαá¼ÑΓα num, αáó¡δ¼ º¡áτÑ¡¿ε arg.val
- GETPID óÑα¡πΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑßßá, óδ»«½¡∩óΦÑú« »«ß-
- ½Ññ¡¿¼ Σπ¡¬µ¿ε semop »« «Γ¡«ΦÑ¡¿ε ¬ Γ«¼π ßѼáΣ«-
- απ, ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ »áαá¼ÑΓα num
- GETNCNT óÑα¡πΓ∞ τ¿ß½« »α«µÑßß«ó, «ª¿ñáεΘ¿σ Γ«ú« ¼«¼Ñ¡Γá,
- ¬«úñá º¡áτÑ¡¿Ñ ßѼáΣ«αá ßΓá¡ÑΓ »«½«ª¿Γѽ∞¡δ¼
- GETZCNT óÑα¡πΓ∞ τ¿ß½« »α«µÑßß«ó, «ª¿ñáεΘ¿σ Γ«ú« ¼«¼Ñ¡Γá,
- ¬«úñá º¡áτÑ¡¿Ñ ßѼáΣ«αá ßΓá¡ÑΓ ¡π½Ñóδ¼
- GETALL óÑα¡πΓ∞ º¡áτÑ¡¿∩ óßÑσ ßѼáΣ«α«ó ó ¼áßß¿óÑ
- arg.array
- SETALL πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿∩ óßÑσ ßѼáΣ«α«ó ó ß««ΓóÑΓßΓó¿Ñ
- ß ß«ñÑন¼δ¼ ¼áßß¿óá arg.array
- IPC_STAT ßτ¿ΓáΓ∞ ßΓαπ¬Γπαπ ºáú«½«ó¬á ßѼáΣ«αá ß ¿ñÑ¡Γ¿Σ¿-
- ¬áΓ«α«¼ id ó íπΣÑα arg.buf
- IPC_SET πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿∩ »ÑαѼѡ¡δσ sem_perm.uid,
- sem_perm.gid ¿ sem_perm.mode (¼½áñΦ¿Ñ 9 αáºα∩ñ«ó
- ßΓαπ¬Γπαδ sem_perm) ó ß««ΓóÑΓßΓó¿¿ ß ß«ñÑন¼δ¼
- íπΣÑαá arg.buf
- IPC_RMID πñ὿Γ∞ ßѼáΣ«αδ, ßó∩ºá¡¡δÑ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id,
- ¿º ß¿ßΓѼδ
-
- Åáαá¼ÑΓα num ó«ºóαáΘáÑΓ ¡á ¬«½¿τÑßΓó« ßѼáΣ«α«ó ó «íαáíáΓδóáѼ«¼ ¡áí«αÑ.
- æΓαπ¬Γπαá semid_ds «»αÑñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- struct semid_ds {
- struct ipc_perm sem_perm; /* ßΓαπ¬Γπαá, «»¿ßδóá-
- εΘá∩ »αáóá ñ«ßΓπ-
- ȇ */
- int * pad; /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓÑ-
- ¼«⌐ */
- ushort sem_nsems; /* ¬«½¿τÑßΓó« ßѼáΣ«-
- α«ó ó ¡áí«αÑ */
- time_t sem_otime; /* óαѼ∩ óδ»«½¡Ñ¡¿∩
- »«ß½Ññ¡Ñ⌐ «»Ñαᵿ¿
- ¡áñ ßѼáΣ«α«¼ */
-
- 411
-
- time_t sem_ctime; /* óαѼ∩ »«ß½Ññ¡Ñú«
- ¿º¼Ñ¡Ñ¡¿∩ */
- };
-
- æΓαπ¬Γπαá ipc_perm ¿¼ÑÑà ëà ªÑ ó¿ñ, τΓ« ¿ ó Σπ¡¬µ¿¿ msgctl.
-
-
- EsemgetF
- ______________________________
-
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/sem.h>
-
- semget(key,nsems,flag)
- key_t key;
- int nsems,flag;
-
- öπ¡¬µ¿∩ semget ß«ºñáÑΓ ¼áßß¿ó ßѼáΣ«α«ó, ¬«ααÑß»«¡ñ¿απεΘ¿⌐ ß »áαá¼ÑΓα«¼
- key. Åáαá¼ÑΓαδ key ¿ flag ¿¼Ñεà ëà ªÑ ß¼δß½, τΓ« ¿ ó Σπ¡¬µ¿¿ msgget.
-
-
- EsemopF
- ______________________________
-
- semop(id,ops,num)
- int id,num;
- struct sembuf **ops;
-
- öπ¡¬µ¿∩ semop óδ»«½¡∩ÑΓ ¡áí«α «»Ñαᵿ⌐, ß«ñÑαªáΘ¿σß∩ ó ßΓαπ¬ΓπαÑ ops,
- ¡áñ ¼áßß¿ó«¼ ßѼáΣ«α«ó, ßó∩ºá¡¡δσ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id. Åáαá¼ÑΓα num ß«ñÑα-
- ª¿Γ ¬«½¿τÑßΓó« ºá»¿ßÑ⌐, ß«ßΓáó½∩εΘ¿σ ßΓαπ¬Γπαπ ops. æΓαπ¬Γπαá sembuf «»αÑñÑ-
- ½Ñ¡á ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- struct sembuf {
- short sem_num; /* ¡«¼Ñα ßѼáΣ«αá */
- short sem_op; /* Γ¿» «»Ñαᵿ¿ ¡áñ ßѼáΣ«α«¼ */
- short sem_flg; /* Σ½áú */
- };
-
- ÅÑαѼѡ¡á∩ sem_num ß«ñÑαª¿Γ π¬áºáΓѽ∞ ó ¼áßß¿óÑ ßѼáΣ«α«ó, áßß«µ¿¿α«óá¡-
- ¡δ⌐ ß ñá¡¡«⌐ «»ÑαᵿÑ⌐, á »ÑαѼѡ¡á∩ sem_flg - Σ½áú¿ ñ½∩ ñá¡¡«⌐ «»Ñαᵿ¿.
- ÅÑαѼѡ¡á∩ sem_op ¼«ªÑΓ »α¿¡¿¼áΓ∞ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
-
- «Γα¿µáΓѽ∞¡«Ñ Ñß½¿ ßπ¼¼á º¡áτÑ¡¿∩ ßѼáΣ«αá ¿ º¡áτÑ¡¿∩
- sem_op >= 0, º¡áτÑ¡¿Ñ ßѼáΣ«αá ¿º¼Ñ¡∩ÑΓß∩
- ¡á óѽ¿τ¿¡π sem_op; ó »α«Γ¿ó¡«¼ ß½πτáÑ,
- Σπ¡¬µ¿∩ »α¿«ßΓá¡áó½¿óáÑΓ ßó«Ñ óδ»«½¡Ñ¡¿Ñ,
- Ñß½¿ φΓ« αáºαÑΦÑ¡« Σ½áú«¼
- »«½«ª¿Γѽ∞¡«Ñ πóѽ¿τ¿Γ∞ º¡áτÑ¡¿Ñ ßѼáΣ«αá ¡á óѽ¿τ¿¡π
- sem_op
- ¡π½Ñó«Ñ Ñß½¿ º¡áτÑ¡¿Ñ ßѼáΣ«αá αáó¡« 0, »α«ñ«½-
- ª¿Γ∞ óδ»«½¡Ñ¡¿Ñ; ó »α«Γ¿ó¡«¼ ß½πτáÑ, »α¿-
- «ßΓá¡«ó¿Γ∞ óδ»«½¡Ñ¡¿Ñ, Ñß½¿ φΓ« αáºαÑΦá-
- ÑΓß∩ Σ½áú«¼
-
- àß½¿ ñ½∩ ñá¡¡«⌐ «»Ñαᵿ¿ ó »ÑαѼѡ¡«⌐ sem_flg πßΓá¡«ó½Ñ¡ Σ½áú
- IPC_NOWAIT, Σπ¡¬µ¿∩ semop ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ ¡Ñ¼Ññ½Ñ¡¡« ó ΓÑσ ß½πτá∩σ,
- ¬«úñá «¡á ñ«½ª¡á íδ½á íδ »α¿«ßΓá¡«ó¿Γ∞ß∩. àß½¿ πßΓá¡«ó½Ñ¡ Σ½áú SEM_UNDO,
-
- 412
-
- ó«ßßΓá¡áó½¿óáÑΓß∩ »αÑñδñπΘÑÑ º¡áτÑ¡¿Ñ ßѼáΣ«αá (sem_op óδτ¿ΓáÑΓß∩ ¿º ΓѬπΘÑ⌐
- ßπ¼¼δ Γ¿»«ó «»Ñαᵿ⌐). è«úñá »α«µÑßß ºáóÑαΦ¿Γß∩, º¡áτÑ¡¿Ñ ßѼáΣ«αá íπñÑΓ
- πóѽ¿τÑ¡« ¡á φΓπ ßπ¼¼π. öπ¡¬µ¿∩ semop ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ »«ß½Ññ¡Ñ⌐ «»Ñαᵿ¿
- ¡áñ ßѼáΣ«α«¼.
-
-
- EsetpgrpF
- ______________________________
-
- setpgrp()
-
- öπ¡¬µ¿∩ setpgrp »α¿αáó¡¿óáÑΓ º¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá úαπ»»δ, ¬ ¬«Γ«α«⌐
- »α¿¡áñ½Ñª¿Γ ΓѬπΘ¿⌐ »α«µÑßß, º¡áτÑ¡¿ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ßἫú« »α«µÑßßá ¿ ó«ºó-
- αáΘáÑΓ ¡«ó«Ñ º¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá úαπ»»δ.
-
-
- EsetuidF
- ______________________________
-
- setuid(uid)
- int uid;
-
- setgid(gid)
- int gid;
-
- öπ¡¬µ¿∩ setuid πßΓá¡áó½¿óáÑΓ º¡áτÑ¡¿∩ Σá¬Γ¿τÑ߬«ú« ¿ ¿ß»«½¡¿Γѽ∞¡«ú« ¬«-
- ñ«ó ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩ ΓѬπΘÑú« »α«µÑßßá. àß½¿ óδºδóáεΘ¿⌐ »α«µÑßß
- ¿ß»«½¡∩ÑΓß∩ »«ñ π»αáó½Ñ¡¿Ñ¼ ßπ»Ñα»«½∞º«óáΓѽ∩, Σπ¡¬µ¿∩ ßíαáßδóáÑΓ º¡áτÑ¡¿∩
- π¬áºá¡¡δσ ¬«ñ«ó. é »α«Γ¿ó¡«¼ ß½πτáÑ, Ñß½¿ Σá¬Γ¿τÑ߬¿⌐ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿
- »«½∞º«óáΓѽ∩ ¿¼ÑÑΓ º¡áτÑ¡¿Ñ, αáó¡«Ñ º¡áτÑ¡¿ε uid, Σπ¡¬µ¿∩ setuid ñѽáÑΓ αáó-
- ¡δ¼ φΓ«¼π º¡áτÑ¡¿ε ¿ ¿ß»«½¡¿Γѽ∞¡δ⌐ ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«½∞º«óáΓѽ∩. Æ« ªÑ
- ßá¼«Ñ »α«¿ßσ«ñ¿Γ, Ñß½¿ º¡áτÑ¡¿ε uid αáóÑ¡ ¬«ñ, ß«σαá¡Ñ¡¡δ⌐ »«ß½Ñ óδ»«½¡Ñ¡¿∩
- setuid-»α«úαá¼¼δ, ºá»π߬áѼ«⌐ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ exec. öπ¡¬µ¿∩ setgid ¿¼ÑÑΓ
- ëà ªÑ ß¼δß½ »« «Γ¡«ΦÑ¡¿ε ¬ á¡á½«ú¿τ¡δ¼ úαπ»»«óδ¼ ¬«ñá¼.
-
-
- EshmctlF
- ______________________________
-
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/shm.h>
-
- shmctl(id,cmd,buf)
- int id,cmd;
- struct shmid_ds *buf;
-
- öπ¡¬µ¿∩ shmctl óδ»«½¡∩ÑΓ αẽ¿τ¡δÑ «»Ñαᵿ¿ ¡áñ «í½áßΓ∞ε αáºñѽ∩Ѽ«⌐ »á-
- ¼∩Γ¿, áßß«µ¿¿α«óá¡¡«⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id. æΓαπ¬Γπαá shmid_ds «»αÑñѽѡá
- ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- struct shmid_ds {
- struct ipc_perm shm_perm; /* ßΓαπ¬Γπαá, «»¿ßδóáε-
- Θá∩ »αáóá ñ«ßΓπ»á */
- int shm_segsz; /* αẼÑα ßÑú¼Ñ¡Γá */
- int * pad1; /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓÑ-
- ¼«⌐ */
- ushort shm_lpid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«-
- µÑßßá, ßó∩ºá¡¡«ú« ß
-
- 413
-
- »«ß½Ññ¡Ñ⌐ «»ÑαᵿÑ⌐
- ¡áñ «í½áßΓ∞ε */
- ushort shm_cpid; /* ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«-
- µÑßßá-ß«ºñáΓѽ∩ */
- ushort shm_nattch; /* ¬«½¿τÑßΓó« »α¿ß«Ññ¿-
- ¡Ñ¡¿⌐ ¬ »α«µÑßßá¼ */
- short pad2; /* ¿ß»«½∞ºπÑΓß∩ ß¿ßΓÑ-
- ¼«⌐ */
- time_t shm_atime; /* óαѼ∩ »«ß½Ññ¡Ñú«
- »α¿ß«Ññ¿¡Ñ¡¿∩ */
- time_t shm_dtime; /* óαѼ∩ »«ß½Ññ¡Ñú«
- «Γß«Ññ¿¡Ñ¡¿∩ */
- time_t shm_ctime; /* óαѼ∩ »«ß½Ññ¡Ñú«
- ó¡ÑßÑ¡¿∩ ¿º¼Ñ¡Ñ-
- ¡¿⌐ */
- };
-
- Ä»Ñαᵿ¿:
-
- IPC_STAT »α«τ¿ΓáΓ∞ ó íπΣÑα buf ß«ñÑন¼«Ñ ºáú«½«ó¬á «í-
- ½áßΓ¿, áßß«µ¿¿α«óá¡¡«⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id
- IPC_SET πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿∩ »ÑαѼѡ¡δσ shm_perm.uid,
- shm_perm.gid ¿ shm_perm.mode (9 ¼½áñΦ¿σ αáºα∩-
- ñ«ó ßΓαπ¬Γπαδ) ó ºáú«½«ó¬Ñ «í½áßΓ¿ ó ß««ΓóÑΓß-
- Γó¿¿ ß ß«ñÑন¼δ¼ íπΣÑαá buf
- IPC_RMID πñ὿Γ∞ ¿º ß¿ßΓÑ¼δ «í½áßΓ∞ αáºñѽ∩Ѽ«⌐ »á¼∩Γ¿,
- áßß«µ¿¿α«óá¡¡«⌐ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id
-
-
- EshmgetF
- ______________________________
-
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/shm.h>
-
- shmget(key,size,flag)
- key_t key;
- int size,flag;
-
- öπ¡¬µ¿∩ shmget «íαáΘáÑΓß∩ ¬ «í½áßΓ¿ αáºñѽ∩Ѽ«⌐ »á¼∩Γ¿ ¿½¿ ß«ºñáÑΓ ÑÑ.
- Åáαá¼ÑΓα size ºáñáÑΓ αẼÑα «í½áßΓ¿ ó íá⌐Γáσ. Åáαá¼ÑΓαδ key ¿ flag ¿¼ÑεΓ Γ«Γ
- ªÑ ß¼δß½, τΓ« ¿ ó Σπ¡¬µ¿¿ msgget.
-
-
- EshmopF
- ______________________________
-
- #include <sys/types.h>
- #include <sys/ipc.h>
- #include <sys/shm.h>
-
- shmat(id,addr,flag)
- int id,flag;
- char *addr;
-
- shmdt(addr)
- char *addr;
-
-
- 414
-
- öπ¡¬µ¿∩ shmat »α¿ß«Ññ¿¡∩ÑΓ «í½áßΓ∞ αáºñѽ∩Ѽ«⌐ »á¼∩Γ¿, áßß«µ¿¿α«óá¡¡πε ß
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ id, ¬ áñαÑß¡«¼π »α«ßΓαá¡ßΓóπ »α«µÑßßá. àß½¿ »áαá¼ÑΓα addr
- ¿¼ÑÑΓ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, ∩ñα« ßἫ óδí¿αáÑΓ ñ½∩ »α¿ß«Ññ¿¡Ñ¡¿∩ «í½áßΓ¿ »«ñσ«-
- ñ∩Θ¿⌐ áñαÑß. é »α«Γ¿ó¡«¼ ß½πτáÑ «¡« »δΓáÑΓß∩ »α¿ß«Ññ¿¡¿Γ∞ «í½áßΓ∞, ¿ß»«½∞ºπ∩
- ó ¬áτÑßΓóÑ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá addr ó ¬áτÑßΓóÑ áñαÑßá. àß½¿ ó »áαá¼ÑΓαÑ flag
- πßΓá¡«ó½Ñ¡ í¿Γ SHM_RND, ∩ñα« ó ß½πτáÑ ¡Ñ«íσ«ñ¿¼«ßΓ¿ «¬απú½∩ÑΓ áñαÑß. öπ¡¬µ¿∩
- shmat ó«ºóαáΘáÑΓ áñαÑß, »« ¬«Γ«α«¼π «í½áßΓ∞ »α¿ß«Ññ¿¡∩ÑΓß∩ Σá¬Γ¿τÑ߬¿.
- öπ¡¬µ¿∩ shmdt «Γß«Ññ¿¡∩ÑΓ «í½áßΓ∞ αáºñѽ∩Ѽ«⌐ »á¼∩Γ¿, »α¿ß«Ññ¿¡Ñ¡¡πε αá-
- ¡ÑÑ »« áñαÑßπ addr.
-
-
- EsignalF
- ______________________________
-
- #include <signal.h>
-
- signal(sig,function)
- int sig;
- void (*func)();
-
- öπ¡¬µ¿∩ signal ñáÑΓ ΓѬπΘѼπ »α«µÑßßπ 󫺼«ª¡«ßΓ∞ π»αáó½∩Γ∞ «íαáí«Γ¬«⌐
- ß¿ú¡á½«ó. Åáαá¼ÑΓα sig ¼«ªÑΓ »α¿¡¿¼áΓ∞ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
-
- SIGHUP "ºáó¿ßá¡¿Ñ"
- SIGINT »αÑαδóá¡¿Ñ
- SIGQUIT »αѬαáΘÑ¡¿Ñ αáí«Γδ
- SIGILL ºá»αÑΘÑ¡¡á∩ ¬«¼á¡ñá
- SIGTRAP ó¡πΓαÑ¡¡ÑÑ »αÑαδóá¡¿Ñ, ßó∩ºá¡¡«Ñ ß Γαáßß¿α«ó¬«⌐
- SIGIOT ¿¡ßΓαπ¬µ¿∩ IOT
- SIGEMT ¿¡ßΓαπ¬µ¿∩ EMT
- SIGFPE «ß«íá∩ ß¿Γπᵿ∩ »α¿ αáí«ΓÑ ß τ¿ß½á¼¿ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐
- SIGKILL πñá½Ñ¡¿Ñ ¿º ß¿ßΓѼδ
- SIGBUS «Φ¿í¬á ó Φ¿¡Ñ
- SIGSEGV ¡áαπΦÑ¡¿Ñ ßÑú¼Ñ¡Γᵿ¿
- SIGSYS ¡Ññ«»πßΓ¿¼δ⌐ áαúπ¼Ñ¡Γ ó ó맮óÑ ß¿ßΓѼ¡«⌐ Σπ¡¬µ¿¿
- SIGPIPE ºá»¿ß∞ ó ¬á¡á½ »α¿ «ΓßπΓßΓó¿¿ ßτ¿ΓδóáεΘ¿σ »α«µÑßß«ó
- SIGALRM ß¿ú¡á½ ΓαÑó«ú¿
- SIGTERM ºáóÑαΦÑ¡¿Ñ »α«úαá¼¼δ
- SIGUSR1 ß¿ú¡á½, «»αÑñѽ∩Ѽδ⌐ »«½∞º«óáΓѽѼ
- SIGUSR2 óΓ«α«⌐ ß¿ú¡á½, «»αÑñѽ∩Ѽδ⌐ »«½∞º«óáΓѽѼ
- SIGCLD ú¿íѽ∞ »«Γ«¼¬á
- SIGPWR «Γ¬áº »¿Γá¡¿∩
-
- Åáαá¼ÑΓα function ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
- SIG_DFL ñÑ⌐ßΓó¿Ñ »« π¼«½τá¡¿ε. ĺ¡áτáÑΓ ºáóÑαΦÑ¡¿Ñ »α«-
- µÑßßá ó ß½πτáÑ »«ßΓπ»½Ñ¡¿∩ ½εíδσ ß¿ú¡á½«ó, ºá ¿ß-
- ¬½ετÑ¡¿Ñ¼ SIGPWR ¿ SIGCLD. àß½¿ ß¿ú¡á½ ¿¼ÑÑΓ Γ¿»
- SIGQUIT, SIGILL, SIGTRAP, SIGIOT, SIGEMT, SIGFPE,
- SIGBUS, SIGSEGV ¿½¿ SIGSYS, ß«ºñáÑΓß∩ Σá⌐½
- "core", ß«ñÑαªáΘ¿⌐ ñá¼» «íαáºá »α«µÑßßá ó »á¼∩Γ¿
- SIG_IGN ¿ú¡«α¿α«óáΓ∞ »«ßΓπ»½Ñ¡¿Ñ ß¿ú¡á½á
- Σπ¡¬µ¿∩ áñαÑß »α«µÑñπαδ ó »α«ßΓαá¡ßΓóÑ »α«µÑßßá. Å« ó«º-
- óαáΘÑ¡¿¿ ó αѪ¿¼ ºáñáτ¿ »α«¿ºó«ñ¿Γß∩ «íαáΘÑ¡¿Ñ ¬
- π¬áºá¡¡«⌐ Σπ¡¬µ¿¿ ß »ÑαÑñáτÑ⌐ Ñ⌐ ¡«¼Ñαá ß¿ú¡á½á ó
- ¬áτÑßΓóÑ áαúπ¼Ñ¡Γá. àß½¿ ß¿ú¡á½ ¿¼ÑÑΓ Γ¿», «Γ½¿τ-
- ¡δ⌐ «Γ SIGILL, SIGTRAP ¿ SIGPWR, ∩ñα« áóΓ«¼áΓ¿-
- τÑ߬¿ »ÑαÑπßΓá¡áó½¿óáÑΓ ¿¼∩ »α«úαá¼¼δ «íαáí«Γ¬¿
- ß¿ú¡á½á ó SIG_DFL. æ¿ú¡á½δ Γ¿»á SIGKILL »α«µÑßß«¼
- ¡Ñ «íαáíáΓδóáεΓß∩
-
- 415
-
-
-
- .te1 EstatF
- ______________________________
-
- stat(filename,statbuf)
- char *filename;
- struct stat *statbuf;
-
- fstat(fd,statbuf)
- int fd;
- struct stat *statbuf;
-
- öπ¡¬µ¿∩ stat ó«ºóαáΘáÑΓ ¿¡Σ«α¼áµ¿ε « ßΓáΓπßÑ (ß«ßΓ«∩¡¿¿) π¬áºá¡¡«ú« Σá⌐-
- ½á. öπ¡¬µ¿∩ fstat óδ»«½¡∩ÑΓ Γ« ªÑ ßá¼«Ñ ó «Γ¡«ΦÑ¡¿¿ «Γ¬αδΓ«ú« Σá⌐½á, ¿¼ÑεΘÑ-
- ú« ñÑß¬α¿»Γ«α fd. æΓαπ¬Γπαá statbuf «»αÑñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- struct stat {
- dev_t st_dev; /* ¡«¼Ñα πßΓα«⌐ßΓóá, ¡á ¬«Γ«α«¼ ¡á-
- σ«ñ¿Γß∩ Σá⌐½ */
- ino_t st_ino; /* ¡«¼Ñα ¿¡ñѬßá */
- ushort st_mode; /* Γ¿» Σá⌐½á (ß¼. mknod) ¿ »αáóá
- ñ«ßΓπ»á ¬ ¡Ñ¼π (ß¼. chmod) */
- short st_nlink; /* τ¿ß½« ßó∩ºÑ⌐, π¬áºδóáεΘ¿σ ¡á Σá⌐½ */
- ushort st_uid; /* ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ ó½áñѽ∞µá Σá⌐½á */
- ushort st_gid; /* ¬«ñ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ úαπ»»δ */
- dev_t st_rdev; /* ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá */
- off_t st_size; /* αẼÑα ó íá⌐Γáσ */
- time_t st_atime; /* óαѼ∩ »«ß½Ññ¡Ñú« «íαáΘÑ¡¿∩ */
- time_t st_mtime; /* óαѼ∩ »«ß½Ññ¡Ñú« ó¡ÑßÑ¡¿∩ ¿º¼Ñ¡Ñ¡¿⌐ */
- time_t st_ctime; /* óαѼ∩ »«ß½Ññ¡Ñú« ¿º¼Ñ¡Ñ¡¿∩ ßΓáΓπßá */
- };
-
-
- EstimeF
- ______________________________
-
- stime(tptr)
- long *tptr;
-
- öπ¡¬µ¿∩ stime πßΓá¡áó½¿óáÑΓ ß¿ßΓѼ¡«Ñ óαѼ∩ ¿ ñáΓπ ó ß««ΓóÑΓßΓó¿Ñ ß«
- º¡áτÑ¡¿Ñ¼, π¬áºá¡¡δ¼ ó »áαá¼ÑΓαÑ tptr. éαѼ∩ π¬áºδóáÑΓß∩ ó ßѬπ¡ñáσ «Γ
- 00:00:00 1 ∩¡óáα∩ 1970 ú«ñá »« âα¿¡ó¿τπ.
-
-
- EsyncF
- ______________________________
-
- sync()
-
- öπ¡¬µ¿∩ sync óδúαπªáÑΓ ß«ñÑαªáΘπεß∩ ó ß¿ßΓѼ¡δσ íπΣÑαáσ ¿¡Σ«α¼áµ¿ε («Γ-
- ¡«ß∩Θπεß∩ ¬ Σá⌐½«ó«⌐ ß¿ßΓѼÑ) ¡á ñ¿ß¬.
-
-
- EtimeF
- ______________________________
-
- time(tloc)
-
-
- 416
-
- long *tloc;
-
- öπ¡¬µ¿∩ time ó«ºóαáΘáÑΓ ß¿ßΓѼ¡«Ñ óαѼ∩ ó ßѬπ¡ñáσ «Γ 00:00:00 1 ∩¡óáα∩
- 1970 ú«ñá »« âα¿¡ó¿τπ.
-
-
- EtimesF
- ______________________________
-
- #include <sys/types.h>
- #include <sys/times.h>
-
- times(tbuf)
- struct tms *tbuf;
-
- öπ¡¬µ¿∩ times ó«ºóαáΘáÑΓ óαѼ∩ ó Γá⌐¼Ñα¡δσ Γ¿¬áσ, αÑá½∞¡« »α«ΦÑñΦÑÑ ß
- ½εí«ú« »α«¿ºó«½∞¡«ú« ¼«¼Ñ¡Γá ó »α«Φ½«¼, ¿ ºá»«½¡∩ÑΓ íπΣÑα tbuf ß½ÑñπεΘÑ⌐
- πτÑΓ¡«⌐ ¿¡Σ«α¼áµ¿Ñ⌐:
-
- struct tms {
- time_t tms_utime; /* »α«ñ«½ª¿Γѽ∞¡«ßΓ∞ ¿ß»«½∞º«óá-
- ¡¿∩ ûÅ ó αѪ¿¼Ñ ºáñáτ¿ */
- time_t tms_stime; /* »α«ñ«½ª¿Γѽ∞¡«ßΓ∞ ¿ß»«½∞º«óá-
- ¡¿∩ ûÅ ó αѪ¿¼Ñ ∩ñαá */
- time_t tms_cutime; /* ßπ¼¼á º¡áτÑ¡¿⌐ tms_utime ¿
- tms_cutime π »«Γ«¼¬«ó */
- time_t tms_sutime; /* ßπ¼¼á º¡áτÑ¡¿⌐ tms_stime ¿
- tms_sutime π »«Γ«¼¬«ó */
- };
-
-
- EulimitF
- ______________________________
-
- ulimit(cmd,limit)
- int cmd;
- long limit;
-
- öπ¡¬µ¿∩ ulimit ñáÑΓ »α«µÑßßπ 󫺼«ª¡«ßΓ∞ πßΓá¡áó½¿óáΓ∞ αẽ¿τ¡δÑ «úαá¡¿-
- τÑ¡¿∩ ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡áτÑ¡¿∩ »áαá¼ÑΓαá cmd:
-
- 1 óÑα¡πΓ∞ ¼á¬ß¿¼á½∞¡δ⌐ αẼÑα Σá⌐½á (ó í½«¬áσ »« 512 íá⌐Γ), ó ¬«Γ«αδ⌐
- »α«µÑßß ¼«ªÑΓ óÑßΓ¿ ºá»¿ß∞
- 2 πßΓá¡«ó¿Γ∞ «úαá¡¿τÑ¡¿Ñ ßóÑασπ ¡á αẼÑα Σá⌐½á αáó¡δ¼ º¡áτÑ¡¿ε »áαá-
- ¼ÑΓαá limit
- 3 óÑα¡πΓ∞ º¡áτÑ¡¿Ñ óÑασ¡Ñ⌐ Γ«τ¬¿ »αÑαδóá¡¿∩ (¼á¬ß¿¼á½∞¡δ⌐ ñ«ßΓπ»¡δ⌐
- áñαÑß ó «í½áßΓ¿ ñá¡¡δσ)
-
-
- EumaskF
- ______________________________
-
- umask(mask)
- int mask;
-
- öπ¡¬µ¿∩ umask πßΓá¡áó½¿óáÑΓ º¡áτÑ¡¿Ñ ¼á߬¿, «»¿ßδóáεΘÑ⌐ αѪ¿¼ ß«ºñá¡¿∩
- Σá⌐½á (mask), ¿ ó«ºóαáΘáÑΓ ßΓáα«Ñ º¡áτÑ¡¿Ñ. Åα¿ ß«ºñá¡¿¿ Σá⌐½á í¿Γδ αáºαÑΦÑ-
- ¡¿∩ ñ«ßΓπ»á, ¬«Γ«αδ¼ ß««ΓóÑΓßΓóπεΓ πßΓá¡«ó½Ñ¡¡δÑ αáºα∩ñδ ó mask, íπñπΓ ßíα«-
- ΦÑ¡δ.
-
- 417
-
-
- EumountF
- ______________________________
-
- umount(specialfile)
- char *specialfile
-
- öπ¡¬µ¿∩ umount óδ»«½¡∩ÑΓ ñѼ«¡Γ¿α«óá¡¿Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ, αáß»«½«ªÑ¡¡«⌐
- ¡á πßΓα«⌐ßΓóÑ óó«ñá-óδó«ñá í½«¬á¼¿ specialfile.
-
-
- EunameF
- ______________________________
-
- #include <sys/utsname.h>
-
- uname(name)
- struct utsname *name;
-
- öπ¡¬µ¿∩ uname ó«ºóαáΘáÑΓ ¿¡Σ«α¼áµ¿ε, ¿ñÑ¡Γ¿Σ¿µ¿απεΘπε ß¿ßΓѼπ ó ß««ΓóÑΓ-
- ßΓó¿¿ ß« ß½ÑñπεΘÑ⌐ ßΓαπ¬Γπα«⌐:
-
- struct utsname {
- char sysname[9]; /* ¡á¿¼Ñ¡«óá¡¿Ñ */
- char nodename[9]; /* ¿¼∩ ßÑΓÑó«ú« πº½á */
- char release[9]; /* ¿¡Σ«α¼áµ¿∩ « óÑαß¿¿ ß¿ßΓѼδ */
- char version[9]; /* ñ«»«½¡¿Γѽ∞¡á∩ ¿¡Σ«α¼áµ¿∩ « óÑαß¿¿ */
- char machine[9]; /* ΓÑσ¡¿τÑ߬¿⌐ ¬«¼»½Ñ¬ß */
- };
-
-
- EunlinkF
- ______________________________
-
- unlink(filename)
- char *filename;
-
- öπ¡¬µ¿∩ unlink πñá½∩ÑΓ ¿º ¬áΓὫúá ºá»¿ß∞ «í π¬áºá¡¡«¼ Σá⌐½Ñ.
-
-
- EustatF
- ______________________________
-
- #include <sys/types.h>
- #include <ustat.h>
-
- ustat(dev,ubuf)
- int dev;
- struct ustat *ubuf;
-
- öπ¡¬µ¿∩ ustat ó«ºóαáΘáÑΓ ßΓáΓ¿ßΓ¿τÑ߬¿Ñ ñá¡¡δÑ, σáαá¬ΓÑਧπεΘ¿Ñ Σá⌐½«óπε
- ß¿ßΓѼπ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ dev (ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ ¡«¼Ñαá πßΓα«⌐ßΓóá). æΓαπ¬-
- Γπαá ustat «»αÑñѽѡá ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- struct ustat {
- daddr_t f_tfree; /* ¬«½¿τÑßΓó« ßó«í«ñ¡δσ í½«¬«ó */
- ino_t f_tinode; /* ¬«½¿τÑßΓó« ßó«í«ñ¡δσ ¿¡ñѬ߫ó */
- char f_fname[6]; /* ¡á¿¼Ñ¡«óá¡¿Ñ Σá⌐½«ó«⌐ ß¿ßΓѼδ */
- char f_fpack[6]; /* ß«¬αáΘÑ¡¡«Ñ (π»á¬«óá¡¡«Ñ)
-
- 418
-
- ¿¼∩ Σá⌐½«ó«⌐ ß¿ßΓѼδ */
- };
-
-
- EutimeF
- ______________________________
-
- #include <sys/types.h>
-
- utime(filename,times)
- char *filename;
- struct utimbuf *times;
-
- öπ¡¬µ¿∩ utime »ÑαÑπßΓá¡áó½¿óáÑΓ óαѼ∩ »«ß½Ññ¡Ñú« «íαáΘÑ¡¿∩ ¬ π¬áºá¡¡«¼π
- Σá⌐½π ¿ »«ß½Ññ¡Ñú« ó¡ÑßÑ¡¿∩ ¿º¼Ñ¡Ñ¡¿⌐ ó ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿∩¼¿, ¡á ¬«Γ«-
- αδÑ π¬áºδóáÑΓ »áαá¼ÑΓα times. àß½¿ »áαá¼ÑΓα ß«ñÑαª¿Γ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, ¿ß-
- »«½∞ºπÑΓß∩ ΓѬπΘÑÑ óαѼ∩. é »α«Γ¿ó¡«¼ ß½πτáÑ »áαá¼ÑΓα π¬áºδóáÑΓ ¡á ß½ÑñπεΘπε
- ßΓαπ¬Γπαπ:
-
- struct utimbuf {
- time_t axtime; /* óαѼ∩ »«ß½Ññ¡Ñú« «íαáΘÑ¡¿∩ */
- time_t modtime; /* óαѼ∩ »«ß½Ññ¡Ñú« ó¡ÑßÑ¡¿∩ ¿º¼Ñ¡Ñ¡¿⌐ */
- };
-
- éßÑ º¡áτÑ¡¿∩ «Γßτ¿ΓδóáεΓß∩ «Γ 00:00:00 1 ∩¡óáα∩ 1970 ú«ñá »« âα¿¡ó¿τπ.
-
-
- EwaitF
- ______________________________
-
- wait(wait_stat)
- int *wait_stat;
-
- öπ¡¬µ¿∩ wait »«íπªñáÑΓ »α«µÑßß »α¿«ßΓá¡«ó¿Γ∞ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ñ« ¼«¼Ñ¡Γá
- ºáóÑαΦÑ¡¿∩ »«Γ«¼¬á ¿½¿ ñ« ¼«¼Ñ¡Γá »α¿«ßΓá¡«óá Γαáßß¿απѼ«ú« »α«µÑßßá. àß½¿
- º¡áτÑ¡¿Ñ »áαá¼ÑΓαá wait_stat ¡Ñ¡π½Ñó«Ñ, «¡« »αÑñßΓáó½∩ÑΓ ß«í«⌐ áñαÑß, »« ¬«-
- Γ«α«¼π Σπ¡¬µ¿∩ ºá»¿ßδóáÑΓ ó«ºóαáΘáѼπε »α«µÑßßπ ¿¡Σ«α¼áµ¿ε. Åα¿ φΓ«¼ ¿ß»«½∞-
- ºπεΓß∩ Γ«½∞¬« 16 ¼½áñΦ¿σ αáºα∩ñ«ó ¬«ñá ó«ºóαáΓá. àß½¿ «í¡áαπªÑ¡ ºáóÑαΦ¿óΦ¿⌐
- ßó«Ñ óδ»«½¡Ñ¡¿Ñ »«Γ«¼«¬, 8 ¼½áñΦ¿σ αáºα∩ñ«ó ¬«ñá ó«ºóαáΓá ß«ñÑαªáΓ 0, á 8
- ßΓáαΦ¿σ αáºα∩ñ«ó - ¬«ñ ó«ºóαáΓá (áαúπ¼Ñ¡Γ) Σπ¡¬µ¿¿ exit. àß½¿ »«Γ«¼«¬ ºáóÑα-
- Φ¿½ ßó«Ñ óδ»«½¡Ñ¡¿Ñ ó αѺπ½∞ΓáΓÑ »«½πτÑ¡¿∩ ß¿ú¡á½á, ¬«ñ ó«ºóαáΓá Σπ¡¬µ¿¿
- exit ß«ñÑαª¿Γ ¡«¼Ñα ß¿ú¡á½á. èα«¼Ñ Γ«ú«, Ñß½¿ «íαẠ»α«µÑßßá-»«Γ«¼¬á ß«σαá-
- ¡Ñ¡ ó Σá⌐½Ñ "core", »α«¿ºó«ñ¿Γß∩ πßΓá¡«ó¬á í¿Γá 0200. àß½¿ «í¡áαπªÑ¡ »α¿«ß-
- Γá¡«ó¿óΦ¿⌐ ßó«Ñ óδ»«½¡Ñ¡¿Ñ Γαáßß¿απѼδ⌐ »α«µÑßß, 8 ßΓáαΦ¿σ αáºα∩ñ«ó ¬«ñá
- ó«ºóαáΓá Σπ¡¬µ¿¿ wait ß«ñÑαªáΓ ¡«¼Ñα »α¿óÑñΦÑú« ¬ Ñú« »α¿«ßΓá¡«óπ ß¿ú¡á½á, á
- 8 ¼½áñΦ¿σ αáºα∩ñ«ó - ó«ß∞¼¿α¿τ¡«Ñ τ¿ß½« 0177.
-
-
- EwriteF
- ______________________________
-
- write(fd,buf,count)
- int fd,count;
- char *buf;
-
- öπ¡¬µ¿∩ write óδ»«½¡∩ÑΓ ºá»¿ß∞ π¬áºá¡¡«ú« ó count ¬«½¿τÑßΓóá íá⌐Γ ñá¡-
- ¡δσ, ¡áτ¿¡á∩ ß áñαÑßá buf, ó Σá⌐½ ß ñÑß¬α¿»Γ«α«¼ fd.
-
-
-
- 419
-
-
- EüêüïêÄâÉÇöêƒF
-
-
- [Babaoglu 81] Babaoglu, O., and W.Joy, "Converting a Swap-Based System
- to do Paging in an Architecture Lacking Page-Referenced Bits",
- Proceedings of the 8th Symposium on Operating Systems Principles,
- ACM Operating Systems Review, Vol. 15(5), Dec. 1981, pp. 78-86.
- [Bach 84] Bach, M.J., and S.J.Buroff, "Multiprocessor UNIX Systems",
- AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No.
- 8, Part 2, pp. 1733-1750.
- [Barak 80] Barak, A.B. and Aapir, "UNIX with Satellite Processors",
- Software - Practice and Experience, Vol. 10, 1980, pp. 383-392.
- [Beck 85] Beck, B. and B.Kasten, "VLSI Assist in Building a
- Multiprocessor UNIX System", Proceedings of the USENIX Association
- Summer Conference, June 1985, pp. 255-275.
- [Berkeley 83] UNIX Programmer's Manual, 4.2 Berkeley Software
- Distribution, Virtual VAX-11 Version, Computer Science Division,
- Department of Electrical Engineering and Computer Science,
- University of California at Berkeley, August 1983.
- [Birrell 84] Birrell, A.D. and B.J.Nelson, "Implementing Remote
- Procedure Calls", ACM Transactions on Computer Systems, Vol. 2,
- No. 1, Feb. 1984, pp. 39-59.
- [Bodenstab 84] Bodenstab, D.E., T.F.Houghton, K.A.Kelleman, G.Ronkin,
- and E.P.Schan, "UNIX Operating System Porting Experiences", AT&T
- Bell Laboratories Technical Journal, Vol. 63, No. 8, Oct. 1984,
- pp. 1769-1790.
- [Bourne 78] Bourne, S.R., "The UNIX Shell", The Bell System Technical
- Journal, July-August 1978, Vol. 57, No. 6, Part 2, pp. 1971-1990.
- [Bourne 83] Bourne, S.R., The UNIX System, Addison-Wesley, Reading, MA,
- 1983.
- [Brownbridge 82] Brownbridge, D.R., L.F.Marshall, and B.Randell, "The
- Newcastle Connection or UNIXes of the World Unite!" in Software -
- Practice and Experience, Vol. 12, 1982, pp. 1147-1162.
- [Bunt 76] Bunt, R.B., "Scheduling Techniques for Operating Systems",
- Computer, Oct. 1976, pp. 10-17.
- [Christian 83] Christian, K., The UNIX Operating System, John Wiley &
- Sons Inc., New York, NY, 1983.
- [Coffman 73] Coffman, E.G., and P.J.Denning, Operating Systems Theory,
- Prentice-Hall Inc., Englewood Cliffs, NJ, 1973.
- [Cole 85] Cole, C.T., P.B.Flinn, and A.B.Atlas, "An Implementation of an
- Extended File System for UNIX", Proceedings of the USENIX
- Conference, Summer 1985, pp. 131-149.
- [Denning 68] Denning, P.J., "The Working Set Model for Program Behavior,
- Communications of the ACM, Volume 11, No. 5, May 1968, pp.
- 323-333.
- [Dijkstra 65] Dijkstra, E.W., "Solution of a Problem in Concurrent
- Program Control", CACM, Vol. 8, No. 9, Sept. 1965, p. 569.
- [Dijkstra 68] Dijkstra, E.W., "Cooperating Sequential Processes", in
- Programming Languages, ed. F.Genuys, Academic Press, New York, NY,
- 1968.
- [Felton 84] Felton, W.A., G.L.Miller, and J.M.Milner, "A UNIX
- Implementation for System/370", AT&T Bell Laboratories Technical
- Journal, Vol. 63, No. 8, Oct. 1984, pp. 1751- 1767.
- [Goble 81] Goble, G.H. and M.H.Marsh, "A Dual Processor VAX 11/780",
- Purdue University Technical Report, TR-EE 81-31, Sept. 1981.
- [Henry 84] Henry, G.J., "The Fair Share Scheduler", AT&T Bell
- Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2,
- pp. 1845-1858.
-
- 420
-
- [Holley 79] Holley, L.H., R.P421rmelee, C.A.Salisbury, and D. N.Saul,
- "VM/370 Asymmetric Multiprocessing", IBM Systems Journal, Vol. 18,
- No. 1, 1979, pp. 47-70.
- [Holt 83] Holt, R.C., Concurrent Euclid, the UNIX System, and Tunis,
- Addison-Wesley, Reading, MA, 1983.
- [Horning 73] Horning, J.J., and B.Randell, "Process Structuring",
- Computing Surveys, Vol. 5, No. 1, March 1973, pp. 5-30.
- [Hunter 84] Hunter, C.B. and E.Farquhar, "Introduction to the NSI16000
- Architecture", IEEE Micro, April 1984, pp. 26- 47.
- [Johnson 78] Johnson, S.C. and D.M.Ritchie, "Portability of C Programs
- and the UNIX System", The Bell System Technical Journal, Vol. 57,
- No. 6, Part 2, July-August, 1978, pp. 2021-2048.
- [Kavaler 83] Kavaler, P. and A.Greenspan, "Extending UNIX to Local-Area
- Networks", Mini-Micro Systems, Sept. 1983, pp. 197-202.
- [Kernighan 78] Kernighan, B.W., and D.M.Ritchie, The C Programming
- Language, Prentice-Hall, Englewood Cliffs, NJ, 1978.
- [Kernighan 84] Kernighan, B.W., and R.Pike, The UNIX Programming
- Environment, Prentice-Hall, Englewood Cliffs, NJ, 1984.
- [Killian 84] Killian, T.J., "Processes as Files", Proceedings of the
- USENIX Conference, Summer 1984, pp. 203-207.
- [Levy 80] Levy, H.M., and R.H.Eckhouse, Computer Programming and
- Architecture: The VAX-11, Digital Press, Bedford, MA, 1980.
- [levy 82] Levy, H.M., and P.H.Lipman, "Virtual Memory Management in the
- VAX/VMS Operating System", Computer, Vol. 15, No. 3, March 1982,
- pp. 35-41.
- [Lu 83] Lu, P.M., W.A.Dietrich, et. al., "Architecture of a VLSI MAP for
- BELLMAC-32 Microprocessor", Proc. of IEEE Spring Compcon, Feb. 28,
- 1983, pp. 213-217.
- [Luderer 81] Luderer, G.W.R., H.Che, J.P.Haggerty, P.A.Kirslis, and
- W.T.Marshall, "A Distributed UNIX System Based on a Virtual
- Circuit Switch", Proceedings of the Eighth Symposium on Operating
- Systems Principles, Asilomar, California, December 14-16, 1981.
- [Lycklama 78a] Lycklama, H. and D.L.Bayer, "The MERT Operating System",
- The Bell System Technical Journal, Vol. 57, No. 6, Part 2,
- July-August 1978, pp. 2049-2086.
- [Lycklama 78b] Lycklama, H. and C.Christensen, "A Minicomputer Satellite
- Processor System", The Bell System Technical Journal, Vol. 57, No.
- 6, Part 2, July- August 1978, pp. 2103-2114.
- [McKusick 84] McKusick, M.K., W.N.Joy, S.J.Leffler, and R.S. Fabry, "A
- Fast File System for UNIX", ACM Transactions on Computer Systems,
- Vol. 2(3), August 1984, pp. 181-197.
- [Mullender 84] Mullender, S.J. and A.S.Tanenbaum, "Immediate Files",
- Software - Practice and Experience, Vol. 14(4), April 1984, pp.
- 365-368.
- [Nowitz 80] Nowitz, D.A. and M.E.Lesk, "Implementation of a Dial-Up
- Network of UNIX Systems", IEEE Proceedings of Fall 1980 COMPCON,
- Washington, D.C., pp. 483-486.
- [Organick 72] Organick, E.J., The Multics System: An Examination of Its
- Structure", The MIT Press, Cambridge, MA, 1972.
- [Peachey 84] Peachey, D.R., R.B.Bunt, C.L.Williamson, and T.B.Brecht,
- "An Experimental Investigation of Scheduling Strategies for UNIX",
- Performance Evaluation Review, 1984 SIGMETRICS Conference on
- Measurement and Evaluation of Computer Systems, Vol. 12(3), August
- 1984, pp. 158-166.
- [Peterson 83] Peterson, James L. and A.Silberschatz, Operating System
- Concepts, Addison-Wesley, Reading, MA, 1983.
- [Pike 84] Pike, R., "The Blit: A Multiplexed Graphics Terminal", AT&T
- Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8,
- Part 2, pp. 1607-1632.
-
- 421
-
- [Pike 85] Pike, R., and P.Weinberger, "The Hideous Name", Proceedings of
- the USENIX Conference, Summer 1985, pp. 563-568.
- [Postel 80] Postel, J. (ed.), "DOD Standart Transmission Control
- Protocol", ACM Computer Communication Review, Vol. 10, No. 4, Oct.
- 1980, pp. 52-132.
- [Postel 81] Postel, J., C.A.Sunshine, and D.Cohen, "The ARPA Internet
- Protocol", Computer Networks, Vol. 5, No. 4, July 1981, pp.
- 261-271.
- [Raleigh 76] Raleigh, T.M., "Introduction to Scheduling and Switching
- under UNIX", Proceedings of the Digital Equipment Computer Users
- Society, Atlanta, Ga., May 1976, pp. 867-877.
- [Richards 69] Richards, M., "BCPL: A Tool for Compiler Writing and
- Systems Programming", Proc. AFIPS SJCC 34, 1969, pp. 557-566.
- [Ritchie 78a] Ritchie, D.M. and K.Thompson, "The UNIX Time-Sharing
- System", The Bell System Technical Journal, July-August 1978, Vol.
- 57, No. 6, Part 2, pp. 1905-1930.
- [Ritchie 78b] Ritchie, D.M., "A Retrospective", The Bell System
- Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2, pp.
- 1947-1970.
- [Ritchie 81] Ritchie, D.M. and K.Thompson, "Some Further Aspects of the
- UNIX Time-Sharing System", Mini-Micro Software, Vol. 6, No. 3,
- 1981, pp. 9-12.
- [Ritchie 84a] Ritchie, D.M., "The Evolution of the UNIX Time- sharing
- System", AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol.
- 63, No. 8, Part 2, pp. 1577-1594.
- [Ritchie 84b] Ritchie, D.M., "A Stream Input Output System", AT&T Bell
- Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2,
- pp. 1897-1910.
- [Rochkind 85] Rochkind, M.J., Advanced UNIX Programming, Prentice-Hall,
- 1985.
- [Saltzer 66] Saltzer, J.H., Traffic Control in a Multiplexed Computer
- System, Ph.D. Thesis, MIT, 1966.
- [Sandberg 85] Sandberg, R., D.Goldberg, S.Kleiman, D.Walsh, and B.Lyon,
- "Design and Implementation of the Sun Network Filesystem",
- Proceedings of the USENIX Conference, Summer 1985, pp. 119-131.
- [SVID 85] System V Interface Definition, Spring 1985, Issue 1, AT&T
- Customer Information Center, Indianapolis, IN.
- [System V 84a] UNIX System V User Reference Manual.
- [System V 84b] UNIX System V Administrator's Manual.
- [Thompson 74] Thompson, K. and D.M.Ritchie, "The UNIX Time-Sharing
- System", Communications of the ACM, Vol. 17, No. 7, July, 1974,
- pp. 365-375 (¿ß»αáó½Ñ¡« ¿ »ÑαÑ»ÑτáΓá¡« ó [Ritchie 78a]).
- [Thompson 78] Thompson, K., "UNIX Implementation", The Bell System
- Technical Journal, Vol. 57, No. 6, Part 2, July- August, 1978, pp.
- 1931-1946.
- [Weinberger 84] Weinberger, P.J., "Cheap Dynamic Instruction Counting",
- The AT&T Bell Laboratories Technical Journal, Vol. 63, No. 6, Part
- 2, October 1984, pp. 1815-1826.
-
-
-
-
-
-
-
-
-
-
-
-
- 422