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

๐Ÿ“SUBJECT/๐Ÿ“š์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ5

[์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ/Linux] 10. Signal Timer(1) 1. Signal ์ปค๋„์—์„œ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” event๋ฅผ ์ด์™€ ์—ฐ๊ด€๋˜์–ด ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์—๊ฒŒ signal ํ˜•ํƒœ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. user process๋Š” signal์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธด๊ธ‰ํ•œ ๋น„๋™๊ธฐ์  ์ด๋ฒคํŠธ(asynchronous urgent event)๋ฅผ ์ธํ„ฐ๋ŸฝํŠธ(inturrupt)๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ์ž…์žฅ์—์„œ ์ด signal์€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๊ธด๊ธ‰ํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” event์ž…๋‹ˆ๋‹ค. ์ด event๊ฐ€ ์ž์‹ ์—๊ฒŒ ์ „๋‹ฌ๋˜๋ฉด ์ด ์ด๋ฒคํŠธ๋ฅผ handling ํ•  ์ˆ˜ ์žˆ๋Š” handling ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. User's view User mode ๋™์ž‘ -> signal ๋ฐœ์ƒ -> user program ์ด inturrupt๋ฅผ ๋ฐ›์Œ -> signal handler(user mode๊ฐ€ inturru.. 2020. 5. 23.
[์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ/Linux] 10. POSIX-semaphore 1. Semaphore Semaphore๋Š” 1960๋…„๋Œ€ Dijkstra์— ์˜ํ•ด ์„ค๊ณ„๋œ ์‹œ์Šคํ…œ ์ฝœ์ž…๋‹ˆ๋‹ค. mutex์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ(๋˜๋Š” ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค) ํ™˜๊ฒฝ์—์„œ critical section์˜ ๊ณต์œ  ์ž์›์— ์ ‘๊ทผ์ œ์–ด๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. semaphore์˜ ๊ธฐ๋ณธ์ ์ธ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. mutual exclusion(์ƒํ˜ธ ๋ฐฐ์ œ)์„ ์œ„ํ•œ block/wakeup ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ critical section์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด, ํ”„๋กœ์„ธ์Šค๋Š” block ์ƒํƒœ๊ฐ€ ๋จ(block : Semaphore queue์— ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ๋“ฑ๋กํ•˜๊ณ , ํ”„๋กœ์„ธ์Šค๋Š” CPU์—์„œ release๋จ) ํ”„๋กœ์„ธ์Šค๊ฐ€ critical section์„ ์ด์šฉํ•œ ํ›„ ๋น ์ ธ๋‚˜์˜ฌ ๋•Œ, waiting queue์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊นจ์›€ CPU time.. 2020. 5. 23.
[์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ/Linux] 2. File I/O(1) 1. Linux System Calls ๋ฆฌ๋ˆ…์Šค์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ ์ฝœ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. File descriptor I/O open(); close(); creat(); read(); write(); seek(); // random access fcntl(); // for file/record locking Process control Thread programming IPC Signal handling Memory management Synchronization Time management Network socket API(TCP, UDP) ๊ทธ ์ค‘ File descriptor I/O์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. 2. System Calls & Library Calls for File I/O ํŒŒ์ผ๊ณผ ๊ด€๋ จ๋œ.. 2020. 5. 6.
[์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ/Linux] 1-3. Linux Shell & Basic Commands 1. Shell? Shell์ด๋ž€ ์‚ฌ์šฉ์ž๊ฐ€ ์šด์˜์ฒด์ œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ค€ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค ์ปค๋„์€ ์œ ์ €๊ฐ€ ์œ ์ € ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ธํ„ฐํŽ˜์ด์‹ฑ ํ•˜๊ธฐ ์œ„ํ•ด์„œ system call์ด๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ, ์ด system call์€ functional level์—์„œ์˜ ์ธํ„ฐํŽ˜์ด์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ €๊ฐ€ ์ด๋ฅผ ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ๋ช…๋ น์–ด ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ shell์ž…๋‹ˆ๋‹ค. shell์˜ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. - ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ command line์œผ๋กœ ์‹คํ–‰์‹œ์ผœ์ค„ ์ˆ˜ ์žˆ์Œ - ์šด์˜์ฒด์ œ ์•ˆ์— ์žˆ๋Š” file, process๋“ค์„ ๊ด€๋ฆฌ 2. Commonly Used shells ๋ฆฌ๋ˆ…์Šค๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ shell ํ”„๋กœ๊ทธ๋žจ์ด ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. System utility๋“ค์€.. 2020. 5. 5.
[์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ/Linux] 1. Introduction ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ์šด์˜์ฒด์ œ์™€ ๊ฐ™์€ ์ปค๋„ ๋ฐ ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์œ„ ๋ ˆ๋ฒจ์—์„œ ๋™์ž‘ํ•˜๋Š” ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ธฐ์ˆ ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•˜์œ„ ์šด์˜์ฒด์ œ์™€ ๋ฐ€์ ‘ํ•œ ์—ฐ๊ด€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šด์˜์ฒด์ œ(Operating System, OS)์˜ ์—ญํ• ๊ณผ OS์—์„œ ์ œ๊ณตํ•˜๋Š” ์‹œ์Šคํ…œ ์ฝœ์„ ์ดํ•ดํ•˜๊ณ , OS์—์„œ ์ œ๊ณตํ•˜๋Š” ์‹œ์Šคํ…œ ์ฝœ์˜ ์ข…๋ฅ˜๋ฅผ ํŒŒ์•…ํ•˜์—ฌ ๊ฐ ๋ชฉ์ ์— ๋งž๋Š” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. 1. Operating System ์šด์˜์ฒด์ œ๋ž€ ์ปดํ“จํ„ฐ์˜ ์‚ฌ์šฉ์ž(๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ)์™€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ์‚ฌ์ด์˜ ์ค‘๊ฐœ์ž ์—ญํ• ์„ ํ•˜๋Š” ํ•˜๋‚˜์˜ ํฐ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๐Ÿฆ„ ์šด์˜์ฒด์ œ์˜ ๋ชฉํ‘œ - ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•ด ์คŒ - ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๋ฅผ ๋Šฅ๋ฅ ์ ์œผ๋กœ ์‚ฌ์šฉํ•จ ๐Ÿฆ„ ์šด์˜์ฒด์ œ์˜.. 2020. 4. 24.