๐Ÿ–ฅ๏ธ Computer/Computer Science

๋ฐ”์ดํŠธ ์ˆœ์„œ(Byte Order) - Big Endian ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์œ„ ๋ฐ”์ดํŠธ๋ถ€ํ„ฐ ์ ์žฌํ•˜๋Š” ๋ฐฉ์‹ ์ตœ์ƒ์œ„๋ฐ”์ดํŠธ๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ถ€ํ„ฐ ์ €์žฅ๋˜๋Š” ๋ฐฉ์‹ ์‚ฌ๋žŒ์ด ์ฝ๋Š” ๋ฐ ์ต์ˆ™ํ•˜์—ฌ ๋””๋ฒ„๊น…์— ์žˆ์–ด ํŽธ๋ฆฌํ•˜๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. - Little Endian ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜์œ„ ๋ฐ”์ดํŠธ๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ(Host Ordering) ์ตœ์ƒ์œ„ ๋ฐ”์ดํŠธ๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ถ€ํ„ฐ ์ €์žฅ๋˜๋Š” ๋ฐฉ์‹ ๊ธฐ๊ณ„์˜ ์—ฐ์‚ฐ์ด ํšจ์œจ์ ์ด๋ผ๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ๊ธฐ๊ณ„ ์—ฐ์‚ฐ์˜ ํšจ์œจ์„ฑ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์ด์œ ๊ฐ€ ์žˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์—์„œ Big Endian์˜ ๊ฒฝ์šฐ 32๋น„ํŠธ ์ˆ˜์ธ 0X2A๋ฅผ ์ฝ๊ธฐ ์œ„ํ•ด 32๋น„ํŠธ ๋ชจ๋‘๋ฅผ ์ฝ์–ด์•ผํ•˜์ง€๋งŒ Little Endian์˜ ๊ฒฝ์šฐ 32๋น„ํŠธ์˜ ์ˆ˜ ์ค‘ 1, 2๋ฐ”์ดํŠธ๋งŒ ๋–ผ์–ด๋‚ด๋ฉด ๋ฐ”๋กœ 8, 16๋น„ํŠธ๋ฅผ ์–ป์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. - ASLR(Address Spac..
Code ์ฝ”๋“œ ์ž์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ (.hex .bin .c …) ํ”„๋กœ๊ทธ๋žจ ๋ช…๋ น์ด ์œ„์น˜ํ•˜๋Š” ๊ณณ Data ์ „์—ญ๋ณ€์ˆ˜, ์ •์ ๋ณ€์ˆ˜, ๋ฐฐ์—ด, ๊ตฌ์กฐ์ฒด ๋“ฑ์ด ์ €์žฅ๋จ ์ดˆ๊ธฐํ™”๋œ ๋ฐ์ดํ„ฐ → Data ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ → BSS(Block Stated Symbol) Data์˜์—ญ์€ ์ดˆ๊ธฐ์— ์‚ฌ์šฉํ•  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณด BSS์˜์—ญ์€ ๋Ÿฐํƒ€์ž„ํ›„์— ๋ฉ”๋ชจ๋ฆฌ์˜์—ญ ํ™•๋ณด Heap ๋™์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ ์ž ํ•  ๋•Œ ์œ„์น˜ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜์—ญ C์—์„œ ์ด ์˜์—ญ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ malloc()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Stack ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์œผ๋กœ ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฆฌํ„ด ๊ฐ’ ๋“ฑ์„ ์ €์žฅํ•œ๋‹ค. ํ•จ์ˆ˜ํ˜ธ์ถœ์‹œ ์ƒ์„ฑ๋˜๊ณ  ํ•จ์ˆ˜๊ฐ€ ๋๋‚˜๋ฉด ์‹œ์Šคํ…œ์— ๋ฐ˜ํ™˜๋จ ๋‚˜์ค‘์— ๋„ฃ์€ ๊ฐ’์ด ๋จผ์ € ๋‚˜์˜ค๋Š” ํ›„์ž…์„ ์ถœ ๊ตฌ์กฐ์ด๋‹ค. Thread ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์ด์šฉํ•˜๋Š” ์‹คํ–‰๋‹จ์œ„ St..
User(์‚ฌ์šฉ์ž) User์—์„œ Kernel๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์ธํ„ฐํŽ˜์ด์Šค → File File์˜ ์ž‘์„ฑ(write) ๊ทœ์น™ : Protocol ๋ชจ๋“  File์— ๋Œ€ํ•ด ์ฝ๊ณ  ์“ฐ๋Š” ๊ทœ์น™์„ ์™ธ์šฐ๊ณ  ๋‹ค๋‹์ˆ˜๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— Read/Write์— ๋Œ€ํ•œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค. ex) getchar(), putchar(), gets(), puts() ๋“ฑ ํ•จ์ˆ˜๋Š” Kernel์— I/O๋ฅผ ์š”๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋‹ค. Kernel(์ปค๋„) ์šด์˜์ฒด์ œ์˜ ํฐ ๊ตฌ์„ฑ์š”์†Œ๋กœ์„œ ํ•˜๋“œ์›จ์–ด ์ œ์–ด ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…์ถœ๋ ฅ์„ ๋‹ด๋‹นํ•œ๋‹ค. Shell(์‰˜) : ์ปค๋„์ด ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ช…๋ น์–ด๋ฅผ ํ•ด์„ํ•ด์„œ ์ปค๋„์—๊ฒŒ ์ „๋‹ฌํ•ด์ค€๋‹ค(Interface์˜ ๋ฒ”์ฃผ)
_์ฃผ๋…ธ
'๐Ÿ–ฅ๏ธ Computer/Computer Science' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก