๋ชฉ๋กOpen (1)

YS's develop story

open(), close(), read(), write() ์‹œ์Šคํ…œ ์ฝœ ํ•จ์ˆ˜, File descriptor ์™€ inode number (์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด - 3 )

์˜ค๋Š˜์€ ์‹œ์Šคํ…œ ์ฝœ ํ•จ์ˆ˜ ๋ช‡ ๊ฐœ๋ฅผ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค :) ์šฐ์„  File descriptor๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ™•์ธํ•ด ๋ด…์‹œ๋‹ค ~ ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•  ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ์ด๋ผ๋Š” ๊ฒƒ์„ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํŒŒ์ผ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ณค ํ•˜์ฃ . OS๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ์ด๋ผ๋Š” ๊ฒƒ์„ inode number์ด๋ผ๋Š” ๊ฒƒ์„ ํ†ตํ•ด์„œ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ค„์—ฌ์„œ id๋ผ๊ณ  ํ•˜๊ณ  Id๋Š” ์ˆซ์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ์–ด๋–ค ํŒŒ์ผ์„ ์ฝ๊ณ  ์‹ถ๋‹ค๋ฉด, OS๋Š” ๋””์Šคํฌ์—์„œ ํ•ด๋‹นํ•˜๋Š” ํŒŒ์ผ์„ ์ฐพ๊ณ , ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ(dram)๋กœ ๋ณด๋‚ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฉ”๋ชจ๋ฆฌ์ƒ์—์„œ ํŒŒ์ผ์„ ์•„๋ž˜์ฒ˜๋Ÿผ ๊ฐ์ฒดํ™”์‹œํ‚ต๋‹ˆ๋‹ค. ์ด๋•Œ ๊ฐ์ฒด์˜ ํฌ์ธํ„ฐ, ์ฃผ์†Œ๋ฅผ file descriptor๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ฝœ open ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ด…์‹œ๋‹ค. openํ•จ์ˆ˜๋Š” ํŒŒ์ผ์„ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๊ธฐ..