OSãŸãšã
OS, ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšãã®åºç€æè¡ã«ã€ããŠ.
äž»ãªOS
OSãšã¯
ðOSã®åœ¹å²ã®ãã¢ã¯è³æºç®¡çè - ããã³ã³ãã¥ãŒã¿ç§åŠã©ãžãª
OSã®æ©èœã®ãã¢ã¯è³æºç®¡çè . ãªãœãŒã¹ã管çããããšãä»äº.
æèã®OSãã¢ããããŒããšã¯å€ãªäŸã. ãããã«OSãå€ããã°èŠãç®ãUIã§å€ãããã©ããã¯ããŸã. ðã³ãã³ã©ãžãªãæ»æãå§ããwww
ðKernel
Kernel.
- ããŒããŠã§ã¢ãšãœãããŠã§ã¢ã¢ããªã±ãŒã·ã§ã³ãã€ãªãOSã®æ©èœ.
- ããŒããŠã§ã¢ã®ãœãããŠã§ã¢æœè±¡å.
- ã«ãŒãã«ã®ä»äºã¯ã³ã³ãã¥ãŒã¿ã®ãªãœãŒã¹ã管çããä»ã®ããã°ã©ã ããããã®ãªãœãŒã¹ã䜿ã£ãŠåäœã§ããããã«ããããš.
ðãã¡ã€ã«ã·ã¹ãã
ã³ã³ãã¥ãŒã¿ã®ãªãœãŒã¹ãæäœããããã®, ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã (OS) ãæã€æ©èœã®äžã€.
ðã¹ãã¬ãŒãžã·ã¹ãã æŠè«
ðãã¡ã€ã«(OS)
OSãªã©ã®æ å ±ã·ã¹ãã ããã¿ã, ããŒã¿ã®ç®¡çåäœ.
-
åå, æ¡åŒµå, idãªã©ã®èå¥åããã€.
-
size, äœææ¥ãªã©ã®å±æ§ããã€.
-
æææš©ãªã©ã®ããŒããã·ã§ã³ããã€.
-
read/write, ãŸãã¯äž¡æ¹ã®æ©èœããã€.
ðãã£ã¬ã¯ããª
ð¡ãã©ã«ãã¯GUI/Windowsã§ãã£ã¬ã¯ããªã¯CLI/Linuxã®æå
ãã©ã«ããšãã£ã¬ã¯ããªã®ååã®éãã¯æåã®éã.
ã¿ã¹ã¯ç®¡ç
ðã¿ã¹ã¯(OS)
OSããã¿ãããã°ã©ã ã®å®è¡åäœ.
ðããã¯ã°ã©ãŠã³ãã¿ã¹ã¯
ðããã»ã¹(OS)
å®è¡äžã®ããã°ã©ã ã®ã€ã³ã¹ã¿ã³ã¹.
cf. ðããã»ã¹(èšç®æ©ç§åŠ)
Definition
- A process is defined as the action of software as it executes.
- A process is an instance of a running program.
Features
ããã»ã¹ã¯ 2 ã€ã®æœè±¡åããããªã
- è«çå¶åŸ¡ãããŒ
- ããããã®ããã»ã¹ã 1 ã€ã® CPU ã§å®è¡ããŠããããã«èŠãã
- ãã©ã€ããŒããªä»®æ³ã¡ã¢ãªç©ºé
- ããããã®ããã»ã¹ã 1 ã€ã® ã¡ã€ã³ã¡ã¢ãª ã§å®è¡ããŠããããã«èŠãã
Process ã¯äžåºŠã«ã²ãšã€ã®ããšããå®è¡ã§ããªã.
- concurrently: å¹³è¡ã§åäœããŠããããã«èŠãã
- å®éã¯ã·ãŒã±ã³ã·ã£ã«.
ãã®ç§å¯ã¯, OS ã®ã³ã³ããã¹ãã¹ã€ããã«ãã!
fork-exec model
Fork-exec is a commonly used technique in Unix whereby an executing process spawns a new program.
fork-exec ã¢ãã«ã¯, ããã»ã¹ç®¡çææ³.
forc ãš exec ã®èª¬æã¯ä»¥äž.
- fork: çŸåšã®ããã»ã¹ã®ã³ããŒãçæ.
- execve: çŸåšã®ããã»ã¹ã®ã³ãŒããšã¡ã¢ãªç©ºéãå¥ã®ãã®ãžçœ®ãæãã.
ðããã»ã¹å¶åŸ¡ãããã¯(PCB)
Process Control Block, PCB.
ããã»ã¹ã®ç¶æ ã衚ãããŒã¿æ§é .
- ã¹ã¬ãããšã¿ã¹ã¯ã®éãã«ã€ããŠããã¹ãŠã¿ã(C++/Linux) | Futurismo
- ããã»ã¹å¶åŸ¡ããã㯠- Wikipedia
- ðãã©ã³ã¶ã¯ã·ã§ã³(Tx)
ðã¹ã¬ãã
ããã°ã©ã ã®åŠçã®åäœ (Thread of Programs).
- Each thread is sequential.
- Each thread is independent of the others.
- Two threads can communicate if they share a variable
Wikipedia ã§ã¯ CPU ã®ã²ãšã€ã®åŠçåäœãšå®çŸ©ãããŠãã.
A thread is defined as the path of action of software as it executes.
ðãã€ããŒãã€ã¶(OS)
ä»®æ³åæè¡.
- VMware
- Virtualbox
ðã³ã³ãã(OS)
ããã»ã¹é颿è¡. ã³ã³ããã¯ä»®æ³ã§ã¯ãªãéé¢.
- ä»ã®ããã»ã¹ããéé¢ãããä»®æ³çãªç©ºéã§åãããã»ã¹.
- æ§ã ãªã«ãŒãã«ãçµã¿åãããŠèµ·åãã.
- ããã€ãã®ãŠãŒã¶ããã»ã¹ããŸãšããŠéã蟌ãããŠãŒã¶ç©ºé. ã³ã³ããå ã§åãããã»ã¹ã¯éåžžã®ããã»ã¹ãšåããã®.
Linux ã³ã³ãã
- namespace: éé¢ç©ºé
- cgroup: ã³ã³ãã(ããã»ã¹ã°ã«ãŒã)ã«å¯ŸããŠãªãœãŒã¹å¶é
2013, ðDockerã®ç»å Žã«ãã£ãŠäžèºã¡ãžã£ãŒã«ïŒïŒïŒ
ãã€ããŒãã€ã¶ãšã®æ¯èŒ
- ã³ã³ãã
- 1 ã€ã® OS.
- ã«ãŒãã«ç©ºéå ±æ, ãŠãŒã¶ç©ºéãå¥ã
- ãã€ããŒãã€ã¶
- ç¬ç«ããè€æ° OS
- ã«ãŒãã«ç©ºé/ãŠãŒã¶ç©ºéãå¥ã
ð£ãããã¯(OS)
äºæããªããšã©ãŒãèŽåœçãªãšã©ãŒã«ééãããšãã«çºçããç¶æ . ãã®ãããªãšã©ãŒãçºçãããšãã·ã¹ãã ã¯éåžžã®åäœãç¶ç¶ããããšãã§ããªãããã忢ãŸãã¯åèµ·åã匷å¶ãããããšãå€ã.
- Kernel Panic (UNIX)
- ãã«ãŒã¹ã¯ãªãŒã³(Windows)
- ðãšã©ãŒãªã«ããªãŒ
- è¡ãéšãèšè, ðãããã¯ãšããåèªã«çŠç¥æã䌎ãè奮ããã(23/10/05)
é¢é£ã¬ã€ã€
- äžäœã¬ã€ã€: ð±ã¢ããªã±ãŒã·ã§ã³