๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿš— Major Study (Bachelor)/๐ŸŸง Operating System26

[OS /์šด์˜ ์ฒด์ œ] Thread Scheduling, Contention Scope, Pthread Scheduling, Linux Scheduler, Linux CFS Scheduler, Windows Scheduling, Process Synchronization, Critical Section, Progress Thread Scheduling Kernel Thread๊ฐ€ Scheduling์˜ ๋‹จ์œ„๊ฐ€ ๋œ๋‹ค. PCB์— ๋ฉ”๋‹ฌ๋ ค ์žˆ๋Š” LWP๊ฐ€ ์žˆ๋‹ค. LWP์™€ Thread๋Š” One to one correspondence๊ฐ€ ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ์˜ Kernel์— ํ•ด๋‹นํ•˜๋Š” LWP๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์‹ค์ œ ์Šค์ผ€์ค„๋ง์€ LWP ๋‹จ์œ„๋กœ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. Contention Scope PCS์™€ SCS๊ฐ€ ์žˆ๋‹ค. Scheduling์€ kernel์—์„œ ์ด๋ฃจ์–ด์ง€๊ณ  (CPU๋ฅผ Kernel Thread๋กœ ๋‚˜๋ˆ ์ฃผ๋Š” ๊ฒƒ) ์ด๋•Œ ๊ฒฝ์Ÿ์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ ์ด๋•Œ๋ฅผ SCS๋ผ๊ณ  ํ•œ๋‹ค. ๋‘ ๋ฒˆ์งธ๋กœ Process ์•ˆ์—์„œ์˜ ๊ฒฝ์Ÿ์ด๋‹ค. User Process ์•ˆ์—์„œ์˜ ๊ฒฝ์Ÿ์ด PCS๋ผ๊ณ  ํ•œ๋‹ค. Pthread Scheduling pthread_attr_ini.. 2022. 4. 28.
[OS / ์šด์˜ ์ฒด์ œ] Priority Scheduling, Round Robin Scheduling, Multilevel Queue Scheduling, Multilevel FeedBack-Queue Scheduling, Multi Processor Scheduling, Processor Affinity Priority Scheduling ํ”„๋กœ์„ธ์Šค ๋ณ„ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‹ค ๋‹ค๋ฅด๋‹ค. System call์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’๊ฒŒ ์ค˜์•ผ ํ•œ๋‹ค. ์šฐ์„ ์ˆœ์œ„ ๋†’์€ ๊ฒƒ ๋จผ์ € ์‹คํ–‰ํ•˜์ž๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. P1 - P5๊นŒ์ง€ ์žˆ๊ณ  Burst Time์ด ์žˆ๋‹ค. Burst Time์€ CPU ์˜ ํ•˜๋‚˜์˜ ๊ธธ์ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ํ”„๋กœ์„ธ์Šค ๋ณ„ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์ฃผ์–ด์ ธ ์žˆ๋‹ค. Priority ๋ฒˆํ˜ธ๊ฐ€ ๋‚ฎ์„ ์ˆ˜๋ก ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๊ฒƒ์ด๋‹ค. 1๋ฒˆ์ด ๊ฐ€์žฅ ๋†’์€ ๊ฒƒ์ด๊ณ  5๋ฒˆ์ด ๊ฐ€์žฅ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ๊ฒƒ์ด๋‹ค. ๋™์‹œ์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด์˜ค๋ฉด P2๊ฐ€ ์ œ์ผ ๋จผ์ € ์‹คํ–‰๋œ๋‹ค. (๋ฒˆํ˜ธ๊ฐ€ ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๊ฒƒ์ด ๋จผ์ € ์‹คํ–‰๋จ). 1ms ๋งŒํผ ๋Œ๊ฒŒ ๋˜๊ณ  ๊ทธ ๋‹ค์Œ์œผ๋กœ P5๊ฐ€ 5ms ๋งŒํผ ๋Œ๊ฒŒ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋Œ์•„๊ฐ€๊ฒŒ ๋œ๋‹ค. Prority Scheduling External ์™ธ๋ถ€์—์„œ ์ฃผ๋Š”.. 2022. 4. 25.
[OS / ์šด์˜์ฒด์ œ] CPU-I/O Burst Cycle, CPU Scheduler, Preemptive Scheduling, Scheduling Criteria, Shortest Job First Scheduling CPU-I/O Burst Cycle read from file์„ ํ•˜๋ฉด IO๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰์„ ํ•˜๋‹ค๋ณด๋ฉด ์–ด๋–จ ๋•Œ๋Š” IO๋ฅผ ์“ฐ๊ณ  ์–ด๋–จ ๋•Œ๋Š” CPU๋ฅผ ์“ด๋‹ค. IO๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๊ฐ„์„ IO Burst๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ต๋Œ€๋กœ ๋ฐฐ์น˜๊ฐ€ ๋˜๊ฒŒ ๋œ๋‹ค. Process๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋ฉด Ready Queue๋กœ ๋“ค์–ด๊ฐ„๋‹ค. ๊ฐ•์ œ ์ข…๋ฃŒ๋ฅผ ์‹œํ‚ค๋ฉด ๋งˆ์ง€๋ง‰์ด IO์ผ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ •์ƒ์ ์ธ ๊ฒฝ์šฐ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰์€ CPU์ด๋‹ค. Historgram of CPU burst Duration CPU burst์˜ ๋Œ€๋ถ€๋ถ„์€ ์งง๋‹ค. ์ „์ฒด์ ์œผ๋กœ ๋ณด๋ฉด ์งง์€ ๊ฒƒ์ด ๋งŽ์ง€๋งŒ ๊ฐ€๋”์‹ ๊ธด burst๊ฐ€ ๋‚˜์˜จ๋‹ค. ์งง์€ ๊ฒฝ์šฐ๋Š” IO Bound์—์„œ ์˜จ ๊ฑฐ๊ณ  ๊ธด ๋ถ€๋ถ„์€ CPU Bound์—์„œ ์˜จ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. CPU Scheduler short term scheduler๋กœ ๋ถˆ.. 2022. 4. 14.
[ OS / ์šด์˜์ฒด์ œ] Thread Pools, fork() and exec(), Thread Local Storage in pthread, Signal Handling Windows์—์„œ ์–ด๋–ป๊ฒŒ ์“ฐ์ด๋Š” ์ง€๋„ ์ž˜ ์ตํ˜€ ๋†“์„ ๊ฒƒ Implicit Thread ๋ช…์‹œ์ ์œผ๋กœ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ MultiThread๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค. THread Pools, OpenMP, Grand Central Dispatch์˜ ๋ฐฉ๋ฒ• 3๊ฐ€์ง€ ์กด์žฌํ•œ๋‹ค. ์•ž์˜ ๋‘ ๊ฐ€์ง€๋งŒ ์„ค๋ช…ํ•  ์˜ˆ์ • Thread Pools ์š”์ฒญ์„ ํ•  ๋•Œ๋งˆ๋‹ค Thread๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์—†์• ๊ณ  ์ฒ˜๋ฆฌํ•˜๊ณ  ์—†์• ๊ณ ์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ์‹œ๊ฐ„์€ ์งง์ง€๋งŒ ๊ณ„์† ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ์ž‘์—… ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋งŒ๋“ค๊ณ  ์—†์• ๋Š” ๊ฒƒ์˜ Overhead๊ฐ€ ๋” ์ปค์ ธ๋ฒ„๋ฆฐ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด Thread Pool์ด๋ผ๊ณ  ํ•œ๋‹ค. ์‚ด์•„์žˆ๋Š” Thread๋ฅผ ๋ช‡ ๊ฐœ ๋งŒ๋“ค๊ณ  ์‚ด๋ ค์„œ ์ด๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ œ์ผ ์ค‘์š”ํ•œ ์ ์€ Th.. 2022. 4. 11.
[OS / ์šด์˜์ฒด์ œ] POSIX PThreads, Windows Threads, Thread Libraries ํ•˜๋‚˜๋Š” Kernel Scheduler ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” Kernel์ด ์“ฐ๋ ˆ๋“œ๋ฅผ ์ œ๊ณต์•ˆํ•ด๋„ User Level์—์„œ ์ œ๊ณตํ•˜๋Š” User level library๊ฐ€ ์กด์žฌํ•œ๋‹ค. POSIX Pthreads๋Š” ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์–ด๋– ํ•œ ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ๊ธฐ๋กํ•œ ๋ช…์„ธ์„œ ๋Š๋‚Œ์ด๋‹ค. LinuxThreads, NPTL ์“ฐ๋ ˆ๋“œ ๋“ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค. POSIX PThreads ์–ด๋–ค ํ•จ์ˆ˜๋ฅผ ์จ์•ผ ํ•˜๋Š”๊ฐ€? ์ œ์ผ ์ค‘์š”ํ•œ ํ•จ์ˆ˜๋Š” pthread_create ์ด๋‹ค. ์“ฐ๋ ˆ๋“œ๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค. ์„ธ ๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ œ์ผ ์ค‘์š”ํ•˜๋‹ค. function pointer์ด๋‹ค. C์–ธ์–ด์—์„œ ์ž˜ ๋ณด์ง€ ๋ชปํ–ˆ๋˜ ๋ฌธ๋ฒ•์ฒ˜๋Ÿผ ๋Š๊ปด์งˆ ๊ฒƒ์ด๋‹ค. ํ•จ์ˆ˜๋Š” ํŠน์ •ํ•œ ์œ„์น˜๋กœ ๋›ฐ์–ด๋“œ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ํ•จ์ˆ˜์˜ ์ด๋ฆ„์€ ์ฃผ์†Œ๋ผ๋Š” ๊ฒƒ์„ .. 2022. 4. 7.
[OS / ์šด์˜์ฒด์ œ] TCB, Multicore Programming, Concurrency vs Parallelism, Amdahl's Law, Kernel Thread, Scheduler Activation Motivation ๋‘ ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ์ •์„ฑ์ด ์ข‹์•„์ง„๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์“ฐ๋ ˆ๋“œ๋ฅผ ๋‘ ๊ฐœ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ํ•˜๋‚˜์˜ ์“ฐ๋ ˆ๋“œ๊ฐ€ ์ฃฝ์œผ๋ฉด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃฝ์–ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ •์„ฑ ์ธก๋ฉด์—์„œ ์ข‹์ง€ ์•Š๋‹ค. ํ•˜์ง€๋งŒ ์“ฐ๋ ˆ๋“œ๋Š” ๋” ๊ฒฝ์ œ์ ์ด๊ณ  ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ๋•Œ ํŽธ๋ฆฌํ•˜๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์›๋ž˜ ๋…๋ฆฝ์ ์ธ Entity์ด๋ฏ€๋กœ ์‰ฝ์ง€ ์•Š๋‹ค. ์“ฐ๋ ˆ๋“œ๋ผ๋ฆฌ ํ†ต์‹ ์„ ํ•  ๋•Œ Shared Memory๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค. ๊ทธ์ € ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€๋Šฅํ•˜๋‹ค. Overview ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•˜๊ณ  ๋…๋ฆฝ์ ์ธ ์ž์›์ด๋‹ค. ๋ฐ˜๋ฉด ์“ฐ๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ์•ˆ์˜ ํ”„๋กœ๊ทธ๋žจ์ด์—ฌ์„œ ์ž์›์„ ๊ณต์œ ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. Thread ID์™€ PC, register set, stack๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. PC๋Š” ์“ฐ๋ ˆ๋“œ ๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ๊ฐ€์ง€๊ณ .. 2022. 4. 4.
[OS / ์šด์˜์ฒด์ œ] Socket, Java Socket, Remote Procedure Call, Remote Method Invocation Reading Assignment message queue๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ Queueใ…”์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด๋‹ค. msgget()์€ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋ผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ queue๋ฅผ ๊ฐ€์ ธ์˜ค๋ผ๋Š” ๊ฒƒ์ด๋‹ค. msgsnd() ๋ฉ”์‹œ์ง€๋ฅผ queue์— ๋„ฃ์–ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๊ฒƒ. msgctl์˜ ๋‘ ๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ IPC_RMID๋Š” ๋ฉ”์‹œ์ง€ Queue ์ž์ฒด๋ฅผ ์‚ญ์ œํ•˜๊ฒŒ ๋œ๋‹ค. Communications in Client-Server Systems Socket์€ ๊ฐ€์žฅ Primitiveํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ฐฉ์‹์ด๋‹ค. RPC๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ํ•จ์ˆ˜์˜ ๋ณธ์ฒด๋Š” ์„œ๋ฒ„์— ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹์ด๋‹ค. Pipe๋Š” ํด๋ผ์šฐ๋“œ๋ผ๊ธฐ ๋ณด๋‹ค ๋กœ์ปฌํ•œ ํ˜ธ์ถœ์— ํ•ด๋‹นํ•œ๋‹ค. Pipes. RMI, RPC์™€ .. 2022. 3. 31.
[OS / ์šด์˜ ์ฒด์ œ] Process Termination, IPC, Shared Memory Segment, Producer Consumer Problem, Message Passing Systems, System 5 ์˜ˆ์™ธ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ฝ”๋“œ๋Š” ์ถ”๊ฐ€ํ•  ๊ฒƒ. More about wait Process Creation in win32 CreateProcess()๋Š” fork์™€ exec๋ฅผ ํ•ฉ์ณ๋†“์€ ํ•จ์ˆ˜๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. WaitForSingleObject()๋Š” wait function๊ณผ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. ZeroMemeory()๋Š” ๋‹ค์Œ์— ์„ค๋ช… Process Termination exit() ์„ ํ•˜๊ณ  ์ข…๋ฃŒ๋ฅผ ํ•˜๊ฒŒ ๋ ๋•Œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์„ free ํ•˜๊ณ  ์ข…๋ฃŒํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด free ์•ˆํ•ด๋„ ๋˜๋Š” ๊ฒƒ์ธ๊ฐ€? ์•„๋‹ˆ๋‹ค. ๋ฌด์กฐ๊ฑด free๋กœ deallocate๋ฅผ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ํ˜„์‹ค์ ์œผ๋กœ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ loop๊ฐ€ ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๋น„์Šทํ•œ ๋™์ž‘์„ ๋Œ๋ฆฌ๊ฒŒ ๋˜๋Š”๋ฐ Memory leak๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋ฒ„๋ ค์ง€๊ฒŒ ๋œ๋‹ค. ์ฒ˜์Œ ๋™์ž‘ํ•  ๋•Œ.. 2022. 3. 28.
[OS / ์šด์˜ ์ฒด์ œ] Scheduling Queue, PCB in Linux, Scheduling Queue, Queue Diagram, Context Switch, Process Creation, Process Creation in UNIX Scheduling Queue Process๊ฐ€ ๋‹น์žฅ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€๋ฐ ํ•  ์ˆ˜ ์—†์„ ๋•Œ Queue์—์„œ ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค. Shared Resource ๋ณ„๋กœ Waiting Queue๊ฐ€ ๋‹ค ๊ฐœ๋ณ„๋กœ ์กด์žฌํ•œ๋‹ค. ์ž์‹ ์˜ ์ฐจ๋ก€๊ฐ€ ๋˜๋ฉด Scheduler๊ฐ€ ์„ ํƒ์„ ํ•˜๋ฉด ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. PCB in Linux ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋Œ์•„๊ฐ€๋ฉด์„œ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์— ํ•ด๋‹นํ•˜๋Š” ์ตœ๋Œ€์˜ ์‹œ๊ฐ„์„ time slice๋ผ๊ณ  ํ•œ๋‹ค. parent ์—๋Š” Parent process๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค. Parent process์˜ task_struct๋Š” ์‹œ์Šคํ…œ์— ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๋Š”๋ฐ child๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์Œ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. Children์€ ์ž๊ธฐ๋ณด๋‹ค ๋‚ฎ์€ Process ๊ฐ€๋ฆฌํ‚จ๋‹ค. ํฌ์ธํ„ฐ ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฆฌ์ŠคํŠธ์˜ ํ˜•ํƒœ๋กœ ๋“ค์–ด๊ฐ€์žˆ๋‹ค... 2022. 3. 24.
[OS / ์šด์˜์ฒด์ œ] Process State, Ready / Running State, Process Control Block, Process Scheduling Interrupt Hanlder๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ˆœ๊ฐ„ kernel mode๋กœ ์ „ํ™˜๋˜๋Š” ๊ฒƒ์ด๋‹ค. size์˜ ํƒ€์ž…์€ long ์œผ๋กœ ๋ฐ”๊ฟ€ ๊ฒƒ Processses ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•œ๋‹ค. ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋„ ํฌํ•จ๋œ๋‹ค. ์ฝ”๋“œ๋“ค์€ Instruction๋“ค์˜ Sequence๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์ค‘๊ฐ„์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋“ค์ด ์กด์žฌํ•˜๋Š” ๋ฐ ๊ทธ๊ฒƒ๋“ค๋„ ํ”„๋กœ์„ธ์Šค์— ํฌํ•จ๋œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋‹ค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋˜ ๋ž˜์ง€์Šคํ„ฐ๋ฅผ ๊ณ„์†ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. Instruction Resgister๋กœ Instruction์„ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋œ๋‹ค. ํ•„์š”ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ž˜์ง€์Šคํ„ฐ๋กœ ๊ฐ€์ ธ์™€์„œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜๋“œ์›จ์–ด์˜ ์ž…์žฅ์—์„œ ๋ณด๋ฉด ๋ฆฌ์†Œ์Šค์— ํ•ด๋‹นํ•˜์ง€๋งŒ ๋ž˜์ง€์Šคํ„ฐ์˜ ๊ฐ’๋“ค์€ ํ”„๋กœ์„ธ์Šค์— ํ•ด๋‹นํ•œ๋‹ค. Process State ์ฒ˜์Œ Pro.. 2022. 3. 21.