๐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. ์ด์ 1 ๋ค์