๋ฐ˜์‘ํ˜•
(OS) ๋„คํŠธ์›Œํฌ ๊ธฐ๊ธฐ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 12. 14. 17:20(OS) ๋„คํŠธ์›Œํฌ ๊ธฐ๊ธฐ

* ๋„คํŠธ์›Œํฌ ๊ธฐ๊ธฐ ( network device ) * ๋„คํŠธ์›Œํฌ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ ๊ธฐ๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ๋‹ค. ๋„คํŠธ์›Œํฌ ๊ธฐ๊ธฐ๋Š” ๊ณ„์ธต๋ณ„๋กœ ์ฒ˜๋ฆฌ ๋ฒ”์œ„๋ฅผ ๋‚˜๋ˆˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ƒ์œ„ ๊ณ„์ธต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๊ธฐ๋Š” ํ•˜์œ„ ๊ณ„์ธต์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ ๋ฐ˜๋Œ€์ธ ํ•˜์œ„ ๊ณ„์ธต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๊ธฐ๋Š” ์ƒ์œ„ ๊ณ„์ธต์„ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ๋Š” ์‚ฌ์šฉ๋˜๋Š” ๋‹จ๋ง ์žฅ์น˜ ๋˜๋Š” ์„œ๋น„์Šค์— ๋”ฐ๋ผ์„œ ์ „์‹ ๋ง, ์ „ํ™”๋ง, ์ปดํ“จํ„ฐ ํ†ต์‹ ๋ง ๋“ฑ์œผ๋กœ ๋ฐœ์ „ํ•ด ์™”์œผ๋‚˜ ์ปดํ“จํ„ฐ ์ฒ˜๋ฆฌ์™€ ํ†ต์‹ ์˜ ๊ฒฐํ•ฉ์œผ๋กœ ์ด๋“ค ๊ฐ„์˜ ๊ฒฝ๊ณ„๋Š” ์—†์–ด์ง€๊ณ  ์ข…ํ•ฉ ์ •๋ณด ํ†ต์‹ ๋ง(ISDN)์œผ๋กœ ๋ฐœ์ „ํ•˜์˜€์œผ๋ฉฐ, ์ปดํ“จํ„ฐ๋Š” ์ปดํ“จํ„ฐ์‹ค์˜ ๊ฒฝ๊ณ„๋ฅผ ํ›จ์”ฌ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋˜์–ด ๋ถ„์‚ฐ ์ปดํ“จํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์˜€๋‹ค. 1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๊ธฐ โœ” L7 ์Šค์œ„์น˜ ( Layer 7 Swith ) L7 ์Šค์œ„์น˜๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ผ๊ณ ๋„ ํ•˜๋ฉฐ ..

(OS) CPU ์Šค์ผ€์ค„๋ง
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 12. 13. 11:09(OS) CPU ์Šค์ผ€์ค„๋ง

CPU ์Šค์ผ€์ค„๋ง (CPU Scheduling) ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ๋•Œ๋Š” CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์— CPU ์†Œ์œ ๊ถŒ์„ ์ค„ ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. CPU ์ด์šฉ๋ฅ ์€ ๋†’๊ฒŒ, ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์— ๋งŽ์€ ์ผ์„ ํ•˜๊ฒŒ, ์ค€๋น„ ํ(ready queue)์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ ๊ฒŒ, ์‘๋‹ต ์‹œ๊ฐ„์€ ์งง๊ฒŒ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง๊ณผ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์ด ์žˆ์Šต๋‹ˆ๋‹ค. โ€ป CPU๋ž€ ? CPU(Central Processing Unit)๋Š” ์‚ฐ์ˆ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์žฅ์น˜, ์ œ์–ด์žฅ์น˜, ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ์ปดํ“จํ„ฐ ์žฅ์น˜๋ฅผ ๋งํ•˜๋ฉฐ, ์ธํ„ฐ๋ŸฝํŠธ์— ์˜ํ•ด ๋‹จ์ˆœํžˆ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ํ•ด์„ํ•ด์„œ ์‹คํ–‰ํ•˜๋Š” ์ผ๊พผ์ž…๋‹ˆ๋‹ค. 1. ๋น„์„ ์ ํ˜• ๋ฐฉ์‹ (non-preemptive) ํ”„๋กœ์„ธ์Šค๊ฐ€ ์Šค์Šค๋กœ CPU ์†Œ์œ ๊ถŒ์„ ํฌ๊ธฐํ•˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ, ๊ฐ•์ œ๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘..

(OS) TCP/IP, UDP ๊ณ„์ธต๊ตฌ์กฐ, OSI
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 9. 20. 18:23(OS) TCP/IP, UDP ๊ณ„์ธต๊ตฌ์กฐ, OSI

OSI ๋ชจ๋ธ ๊ณ„์ธต3์˜ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ, ์ฆ‰ IP ๊ทœ์•ฝ์„ ์ง€ํ‚ค๋ฉด ๊ธฐ๊ธฐ ์ข…๋ฅ˜์™€ ์ƒ๊ด€์—†์ด ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ†ต์‹  ํšŒ์„ ์˜ ํ˜•ํƒœ๊ฐ€ ๋žœ์„ ์ด๋“  ๊ด‘์„ฌ์œ , ๋ฌด์„ , ์ „ํ™”์„  ๋“ฑ ์–ด๋–ค ๊ฒƒ์ด๋“  ๊ฐ„์— ์ƒ๊ด€์ด ์—†๋‹ค. ์ด๋ ‡๊ฒŒ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋งŽ์€ ์Šค์œ„์น˜์™€ ๋ผ์šฐํ„ฐ๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์ง€๊ตฌ๋ฅผ ๋’ค๋ฎ๊ณ  ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ์ธํ„ฐ๋„ท์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. OSI(Open System Interconnection reference)๋ชจ๋ธ์ด๋ž€ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์— ๋Œ€ํ•œ ๊ตญ์ œ ํ‘œ์ค€์ด๋‹ค. ์ด ํ‘œ์ค€๋งŒ ์ž˜ ์ง€ํ‚ค๋ฉด ์–ด๋–ค ๊ธฐ๊ธฐ๋“ , ์‹ฌ์ง€์–ด ์–ด๋–ค ํ˜•ํƒœ์˜ ํ†ต์‹  ์„ ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋“  ์ปดํ“จํ„ฐ ๊ฐ„ ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์ด๋ž€ ๋‹ค๋ฅธ ์žฅ์น˜๋“ค๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด ์„ค์ •๋œ ๊ณตํ†ต๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ..

(OS) ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 9. 7. 15:46(OS) ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ

์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๋Š” ํฌ๊ฒŒ ๋‹จ๋ง๊ธฐ(terminal)์™€ ๋„คํŠธ์›Œํฌ ๊ธฐ๊ธฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋„คํŠธ์›Œํฌ๋Š” ๋…ธ๋“œ(node)์™€ ๋งํฌ(link)๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์€ ์ง‘ํ•ฉ์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋‹จ๋ง๊ธฐ[๋…ธ๋“œ] : (์ปดํ“จํ„ฐ, ๋…ธํŠธ๋ถ ์ปดํ“จํ„ฐ, ์Šค๋งˆํŠธํฐ, ์„œ๋ฒ„ ์ปดํ“จํ„ฐ, ๋ผ์šฐํ„ฐ, ์Šค์œ„์น˜)๋ž€ ํ†ต์‹ ์„ ํ•˜๋Š” ์ฃผ์ฒด๋ฅผ ์ง€์นญ. ๋งํฌ: ์œ ์„  ๋˜๋Š” ๋ฌด์„ . ์„œ๋ฒ„: ํด๋ผ์ด์–ธํŠธ์—์„œ ์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•œ ํ›„ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ํšŒ์‹ ํ•˜๋Š” ์—ญํ• . ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ๋Š” '์ข‹์€' ๋„คํŠธ์›Œํฌ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ข‹์€ ๋„คํŠธ์›Œํฌ๋Š” ๋งŽ์€ ์ฒ˜๋ฆฌ๋Ÿ‰(throughput)์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ง€์—ฐ์‹œ๊ฐ„(latency)์ด ์งง๊ณ  ์žฅ์•  ๋นˆ๋„๊ฐ€ ์ ์œผ๋ฉฐ ์ข‹์€ ๋ณด์•ˆ์„ ๊ฐ–์ถ˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์šฉ์–ด ์ฒ˜๋ฆฌ๋Ÿ‰ ์ง€์—ฐ์‹œ๊ฐ„ ์ •์˜ ๋งํฌ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š”..

(OS) ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 8. 3. 12:06(OS) ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

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

(OS) ์šด์˜์ฒด์ œ์™€ ๋ฉ”๋ชจ๋ฆฌ
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 7. 29. 18:23(OS) ์šด์˜์ฒด์ œ์™€ ๋ฉ”๋ชจ๋ฆฌ

์šด์˜์ฒด์ œ OS(Operating System)๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์ž์›๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋†’์ด๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ์ปดํ“จํ„ฐ ์‚ฌ์šฉ์˜ ํŽธ์˜์„ฑ์„ ์ œ๊ณต ํ•˜๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์šด์˜์ฒด์ œ๋Š” Window, ios, Linux ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. GUI (grapic user interface) ์‚ฌ์šฉ์ž๊ฐ€ ์ „์ž์žฅ์น˜์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ•œ ํ˜•ํƒœ, ๋‹จ์ˆœ ๋ช…๋ น์–ด ์ฐฝ์ด ์•„๋‹Œ ์•„์ด์ฝ˜์„ ๋งˆ์šฐ์Šค๋กœ ํด๋ฆญํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋™์ž‘์œผ๋กœ ์ปดํ“จํ„ฐ์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค. ์‹œ์Šคํ…œ์ฝœ (system call) - ์ถ”์ƒํ™” ๊ณ„์ธต - ์šด์˜์ฒด์ œ๋Š” ์ปค๋„๋ชจ๋“œ(Kernel Mode)์™€ ์‚ฌ์šฉ์ž ๋ชจ๋“œ(User Mode)๋กœ ๋‚˜๋‰˜๋Š”๋ฐ ์ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ปค๋„์€ ์‚ฌ์šฉ์ž๋‚˜ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์œผ๋กœ๋ถ€ํ„ฐ ์ปดํ“จํ„ฐ ์ž์›์„ ๋ณดํ˜ธํ•˜๊ธฐ..

(OS) ์ž๋ฃŒํ˜•, ๋ฐ์ดํ„ฐ ํฌ๊ธฐ ๋ฐ ์ •์ˆ˜ ์ œํ•œ <limits>
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป programming/โ—ฝ ์šด์˜์ฒด์ œ2022. 7. 6. 16:34(OS) ์ž๋ฃŒํ˜•, ๋ฐ์ดํ„ฐ ํฌ๊ธฐ ๋ฐ ์ •์ˆ˜ ์ œํ•œ <limits>

C ํ‘œ์ค€ ํ—ค๋” ํŒŒ์ผ ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. C++ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ—ค๋” ์—๋Š” ๋ฅผ ๋น„๋กฏํ•œ ๊ฐ€ ํฌํ•จ CHAR_BIT ๋น„ํŠธ ํ•„๋“œ๊ฐ€ ์—†๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋ณ€์ˆ˜์˜ ๋น„ํŠธ ์ˆ˜์ž…๋‹ˆ๋‹ค. 8 SCHAR_MIN signed char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์ž…๋‹ˆ๋‹ค. -128 SCHAR_MAX signed char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ๋Œ€๊ฐ’์ž…๋‹ˆ๋‹ค. 127 UCHAR_MAX unsigned char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ๋Œ€๊ฐ’์ž…๋‹ˆ๋‹ค. 255(0Xff) CHAR_MIN char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์ž…๋‹ˆ๋‹ค. –128, /J ์˜ต์…˜์ด ์‚ฌ์šฉ๋œ ๊ฒฝ์šฐ 0 CHAR_MAX char ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ๋Œ€๊ฐ’์ž…๋‹ˆ๋‹ค. 127, /J ์˜ต์…˜์ด ์‚ฌ์šฉ๋œ ๊ฒฝ์šฐ, 255 MB_LEN_MAX ์—ฌ๋Ÿฌ ๋ฌธ์ž ์ƒ์ˆ˜์—์„œ์˜ ์ตœ๋Œ€ ๋ฐ”์ดํŠธ ์ˆ˜์ž…๋‹ˆ๋‹ค. 5 SHRT_MIN short ํ˜•์‹ ๋ณ€์ˆ˜์˜ ์ตœ์†Œ๊ฐ’์ž…๋‹ˆ๋‹ค. ..

๋ฐ˜์‘ํ˜•
image