[์šด์˜์ฒด์ œ] ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ, Blocking๊ณผ Non-Blocking

๋™๊ธฐ VS ๋น„๋™๊ธฐ ๋™๊ธฐ๋Š” ์ˆœ์ฐจ์ , ์ง๋ ฌ์ ์œผ๋กœ ํ…Œ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ๋น„๋™๊ธฐ๋Š” ๋ณ‘๋ ฌ์ ์œผ๋กœ ํ…Œ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋™๊ธฐ(Synchronous)๋ž€? ๋™๊ธฐ๋Š” ์š”์ฒญ์„ ๋ณด๋‚ธ ํ›„ ์‘๋‹ต(๊ฒฐ๊ณผ๋ฌผ)์„ ๋ฐ›์•„์•ผ์ง€๋งŒ ๋‹ค์Œ ๋™์ž‘์ด ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐฉ์‹์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ์ผ์€ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉฐ ์–ด๋–ค ์ž‘์—…์ด ์ˆ˜ํ–‰์ค‘์ด๋ผ๋ฉด ๋‹ค์Œ ์ž‘์—…์€ ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์žฅ์ : ์„ค๊ณ„๊ฐ€ ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์  ๋‹จ์ : ๊ฒฐ๊ณผ๋ฅผ ๋ณผ๋•Œ ๊นŒ์ง€ ์•„๋ฌด๊ฒƒ๋„ ๋ชปํ•˜๊ณ  ๋Œ€๊ธฐ ๋น„๋™๊ธฐ(Asynchronous)๋ž€? ๋น„๋™๊ธฐ๋Š” ๋™์‹œ์— ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ๋กœ, ์š”์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ€ ๋™์‹œ์— ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์•ฝ์†์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์š”์ฒญํ•œ ๊ทธ ์ž๋ฆฌ์—์„œ ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์ง€์ง€ ์•Š์•„๋„ ๋˜๋ฉฐ ๋…ธ๋“œ ์‚ฌ์ด์˜ ์ž‘์—… ์ฒ˜๋ฆฌ ๋‹จ์œ„๋ฅผ ๋™์‹œ์— ๋งž์ถ”์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ์žฅ์ : ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์ง€๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋”๋ผ๋„ ๊ทธ๋™์•ˆ ๋‹ค๋ฅธ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•ด ์ž์›..

CS/Operating System 2022. 10. 19. 18:21
[์šด์˜์ฒด์ œ] Unix์™€ Linux๋ž€? + (Shell Script๋ž€?)

Unix๋ž€ Unix๋Š” 1960๋…„๋Œ€ ํ›„๋ฐ˜ AT&T Bell Labs์—์„œ Ken Thompson๊ณผ Dennis Ritchie๊ฐ€ ๋งŒ๋“  ์šด์˜์ฒด์ œ๋กœ ์„œ๋ฒ„์— ์ฃผ๋กœ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. Dennis Ritchie: C์–ธ์–ด๋ฅผ ๊ฐœ๋ฐœ Ken Thompson: Go์–ธ์–ด์™€ UTF-8 ๋ฌธ์ž ์ธ์ฝ”๋”ฉ์„ ๊ฐœ๋ฐœ ๋‘ ์‚ฌ๋žŒ์€ ์ฒ˜์Œ์—” ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜์˜€์ง€๋งŒ 1973๋…„์— C์–ธ์–ด ๊ธฐ๋ฐ˜ Unix๋ฅผ ์™„์„ฑ์‹œ์ผœ ์ตœ์ดˆ์˜ ๊ณ ๊ธ‰ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์šด์˜์ฒด์ œ๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์œ ๋‹‰์Šค๋Š” ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋™์•ˆ ์‚ฌ์šฉ๋˜๋ฉฐ ์•ˆ์ •์„ฑ์ด ๋งค์šฐ ๋†’์•„์กŒ๊ณ , ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด์—์„œ ํ˜ธํ™˜์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง๊นŒ์ง€๋„ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Unix์˜ ํŠน์ง• ๋Œ€ํ™”์‹ ์šด์˜์ฒด์ œ ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ(Time Sharing System)์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋Œ€ํ™”์‹ ์šด์˜์ฒด์ œ ๋Œ€ํ‘œ์ ์ธ ๋ช…๋ น์–ด ๊ธฐ๋ฐ˜ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ..

CS/Operating System 2022. 10. 18. 19:50
[์šด์˜์ฒด์ œ] ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

ํ”„๋กœ์„ธ์Šค๋ž€? ํ”„๋กœ์„ธ์Šค(process)๋ž€ ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹น๋ฐ›๋Š” ์ž‘์—…์˜ ๋‹จ์œ„๋กœ ์‹คํ–‰์ค‘์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๋…๋ฆฝ์ ์ธ ์ธ์Šคํ„ด์Šค ๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ์ตœ์†Œ 1๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์†Œ์œ (๋ฉ”์ธ ์Šค๋ ˆ๋“œ ํฌํ•จ) ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›๋Š” ์‹œ์Šคํ…œ ์ž์› CPU ์‹œ๊ฐ„ ์šด์˜๋˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„ Code, Data, Stack, Heap์˜ ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ๋Š” ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ Code ์˜์—ญ : ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋Š” ์‹คํ–‰ ํŒŒ์ผ ๋‚ด์˜ ๋ช…๋ น์–ด๋“ค์ด ์˜ฌ๋ผ๊ฐ Data ์˜์—ญ : ์ „์—ญ ๋ณ€์ˆ˜, static ๋ณ€์ˆ˜์˜ ํ• ๋‹น Heap ์˜์—ญ: ๋™์  ํ• ๋‹น์„ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ Stack ์˜์—ญ : ์ง€์—ญ ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ํ˜ธ์ถœ์‹œ ์ „๋‹ฌ๋˜๋Š” ์ธ์ž(ํŒŒ๋ผ๋ฏธํ„ฐ)๋ฅผ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ Code..

CS/Operating System 2022. 9. 25. 20:08
[์šด์˜์ฒด์ œ] ๋ฌธ๋งฅ ๊ตํ™˜(Context Switching)์ด๋ž€?

๋ฌธ๋งฅ ๊ตํ™˜์ด๋ž€? ๋ฌธ๋งฅ ๊ตํ™˜์€ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด, ์ด์ „์˜ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ(๋ฌธ๋งฅ)์„ ๋ณด๊ด€ํ•˜๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ์ ์žฌํ•˜๋Š” ์ž‘์—…์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ๋งฅ์€ ๊ทธ ํ”„๋กœ์„ธ์Šค์˜ ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก(PCB)์— ๊ธฐ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. PCB(Process Control Block)๋ž€? ์šด์˜์ฒด์ œ๊ฐ€ ์‹œ์Šคํ…œ ๋‚ด์˜ ํ”„๋กœ์„ธ์Šค๋“ค์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ์œ ์ง€ํ•˜๋Š” ์ •๋ณด๋“ค์„ ๋‹ด๋Š” ์ปค๋„ ๋‚ด ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์ปค๋„ ์ฃผ์†Œ ๊ณต๊ฐ„์˜ data ์˜์—ญ์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. PCB์— ์ €์žฅ๋˜๋Š” ๋‚ด์šฉ๋“ค Process ์ƒํƒœ : CPU๋ฅผ ํ• ๋‹นํ•ด๋„ ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ • PC๊ฐ’ : ๋‹ค์Œ์— ์ˆ˜ํ–‰ํ•  ๋ช…๋ น์–ด์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฅดํ‚ด CPU Register : CPU ์—ฐ์‚ฐ์„ ์œ„ํ•ด ํ˜„ ์‹œ์ ์— ๋ ˆ์ง€์Šคํ„ฐ์—..

CS/Operating System 2022. 7. 23. 14:00
[์šด์˜์ฒด์ œ] ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์ด๋ž€? ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์€ *๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ•์œผ๋กœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ž˜๊ฒŒ ๋‚˜๋ˆ„์–ด ๋น„์—ฐ์†์ ์œผ๋กœ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹นํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. *๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ : ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ์™€ ์ƒ๊ด€์—†์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ https://j-su2.tistory.com/59?category=1016207 [์šด์˜์ฒด์ œ] ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ž€? (VM์ด๋ž€?) ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๋ž€? ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ํ•˜๋“œ์›จ์–ด์˜ ์ƒํƒœ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ํ•„์š”ํ•œ ์ฃผ์†Œ, ์ •๋ณด๋“ค์„ ์ €์žฅํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•  ๋ช…๋ น์–ด๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ j-su2.tistory.com ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์˜ ๋ฌธ์ œ์  ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ์€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜..

CS/Operating System 2022. 7. 20. 16:28
[์šด์˜์ฒด์ œ] ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ž€? (VM์ด๋ž€?)

๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๋ž€? ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ํ•˜๋“œ์›จ์–ด์˜ ์ƒํƒœ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ํ•„์š”ํ•œ ์ฃผ์†Œ, ์ •๋ณด๋“ค์„ ์ €์žฅํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•  ๋ช…๋ น์–ด๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ์ฝ๊ณ  ์“ฐ๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ๊ด€๋ฆฌํ•ด์ค๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋ž€ ๊ฑฐ๋Œ€ํ•œ ๋ฐ”์ดํŠธ์˜ ๋ฐฐ์—ด์ธ ์ฃผ์†Œ๊ณต๊ฐ„์œผ๋กœ ํ†ต์ƒ์ ์œผ๋กœ RAM, ์ฆ‰ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ ํ˜„๋Œ€์˜ PC๋Š” ๋Œ€๋ถ€๋ถ„ ํฐ ๋…ธ์ด๋งŒ ๊ตฌ์กฐ ๊ธฐ๋ฐ˜์œผ๋กœ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ์˜ ์ „์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์—…๋กœ๋“œํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰๋ณด๋‹ค ๋” ํฐ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ํžˆ ๋ถˆ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฆฌ๋ˆ…์Šค ํ”„๋กœ์„ธ์Šค๋Š” ํ•˜๋‚˜์— 4GB์ธ๋ฐ, ํ†ต์ƒ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ 8GB ๋˜๋Š” 16GB์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ž€? ์‹ค์ œ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ฐœ๋…..

CS/Operating System 2022. 7. 19. 18:53