[BJ] 1987๋ฒˆ: ์•ŒํŒŒ๋ฒณ(Java)

๐Ÿ’ก ๋ฌธ์ œ 1987๋ฒˆ: ์•ŒํŒŒ๋ฒณ ๋ฌธ์ œ ์„ธ๋กœ R์นธ, ๊ฐ€๋กœ C์นธ์œผ๋กœ ๋œ ํ‘œ ๋ชจ์–‘์˜ ๋ณด๋“œ๊ฐ€ ์žˆ๋‹ค. ๋ณด๋“œ์˜ ๊ฐ ์นธ์—๋Š” ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์ด ํ•˜๋‚˜์”ฉ ์ ํ˜€ ์žˆ๊ณ , ์ขŒ์ธก ์ƒ๋‹จ ์นธ (1ํ–‰ 1์—ด) ์—๋Š” ๋ง์ด ๋†“์—ฌ ์žˆ๋‹ค. ๋ง์€ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ธ์ ‘ํ•œ ๋„ค ์นธ ์ค‘์˜ ํ•œ ์นธ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ƒˆ๋กœ ์ด๋™ํ•œ ์นธ์— ์ ํ˜€ ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ์€ ์ง€๊ธˆ๊นŒ์ง€ ์ง€๋‚˜์˜จ ๋ชจ๋“  ์นธ์— ์ ํ˜€ ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ๊ณผ๋Š” ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค. ์ฆ‰, ๊ฐ™์€ ์•ŒํŒŒ๋ฒณ์ด ์ ํžŒ ์นธ์„ ๋‘ ๋ฒˆ ์ง€๋‚  ์ˆ˜ ์—†๋‹ค. ์ขŒ์ธก ์ƒ๋‹จ์—์„œ ์‹œ์ž‘ํ•ด์„œ, ๋ง์ด ์ตœ๋Œ€ํ•œ ๋ช‡ ์นธ์„ ์ง€๋‚  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋ง์ด ์ง€๋‚˜๋Š” ์นธ์€ ์ขŒ์ธก ์ƒ๋‹จ์˜ ์นธ๋„ ํฌํ•จ๋œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— R๊ณผ C๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. (1 ≤ R,C ≤ 20) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ R๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ๋ณด๋“œ์— ์ ํ˜€ ์žˆ๋Š” C๊ฐœ์˜ ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ๋“ค..

[BJ] 1206: DFS์™€ BFS(Java)

๐Ÿ’ก ๋ฌธ์ œ ๋ฌธ์ œ ๊ทธ๋ž˜ํ”„๋ฅผ DFS๋กœ ํƒ์ƒ‰ํ•œ ๊ฒฐ๊ณผ์™€ BFS๋กœ ํƒ์ƒ‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ์—๋Š” ์ •์  ๋ฒˆํ˜ธ๊ฐ€ ์ž‘์€ ๊ฒƒ์„ ๋จผ์ € ๋ฐฉ๋ฌธํ•˜๊ณ , ๋” ์ด์ƒ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ด ์—†๋Š” ๊ฒฝ์šฐ ์ข…๋ฃŒํ•œ๋‹ค. ์ •์  ๋ฒˆํ˜ธ๋Š” 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€์ด๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000), ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 10,000), ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ V๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ •์ ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์–ด๋–ค ๋‘ ์ •์  ์‚ฌ์ด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ„์„ ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๊ฐ„์„ ์€ ์–‘๋ฐฉํ–ฅ์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— DFS๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ, ๊ทธ ๋‹ค์Œ ์ค„์—๋Š” BFS๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. V๋ถ€ํ„ฐ ๋ฐฉ๋ฌธ๋œ ์ ์„ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋ฉด..

[OS] ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜

๐Ÿ’ก ํŽ˜์ด์ง•(Paging) ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ํŽ˜์ด์ง€(page)๋ž€ ๋‹จ์œ„์˜ ๊ณ ์ •๋œ ์‚ฌ์ด์ฆˆ๋กœ ๋‚˜๋ˆ„์–ด ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ๋ถˆ์—ฐ์†์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹ → ์—ฐ์† ํ• ๋‹น์—์„œ์ฒ˜๋Ÿผ ์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฐพ๊ฑฐ๋‚˜ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์Œ → ์™ธ๋ถ€ ๋‹จํŽธํ™” ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ์ˆ ์ด๋‹ค. ๋‘๋ฃจ๋งˆ๋ฆฌ๋กœ ์ฑ…์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ์‚ฌ์ „ํ˜•์‹์œผ๋กœ ์ฑ…์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์˜ ์ฐจ์ด์ฒ˜๋Ÿผ ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ๋…ผ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๋™๋–จ์–ด์ง„ ๊ณต๊ฐ„๋“ค์— ๋ฐฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ด์ค€๋‹ค. Dynamic allocationํ•œ ํ˜•ํƒœ(๋™์ ํ• ๋‹น) : ํ•œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋กœ ๋งคํ•‘ํ•ด์คŒ (์–ด๋””์— ํ• ๋‹น๋˜๋“  ์ผ๊ด€๋˜๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•จ ) (์ฐธ๊ณ ๋กœ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” 0๋ฒˆ๋ถ€ํ„ฐ ํ• ๋‹น ๋˜์–ด์ง) ๐Ÿ’ก ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(Page Table) ํŽ˜์ด์ง€ ๋งคํ•‘ ํ…Œ์ด๋ธ”(Page mapping Tabl..

CS 2022. 8. 30. 21:41
[OS] ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜

๐Ÿ’กํŽ˜์ด์ง€ ๊ต์ฒด ํŽ˜์ด์ง€ ๋ถ€์žฌ(page fault)๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์š”์ฒญ๋œ ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ฝ์–ด์™€์•ผ ํ•œ๋‹ค. ์ด๋•Œ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ๋นˆ ํ”„๋ ˆ์ž„์ด ์กด์žฌํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ๋Š” ํŽ˜์ด์ง€ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์„œ ๋””์Šคํฌ์˜ ์Šค์™‘ ์˜์—ญ์œผ๋กœ ๋ณด๋‚ด์•ผ ํ•œ๋‹ค. ์Šค์™‘์ด๋ผํ•จ์€ ์‹œ์Šคํ…œ์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•  ๊ฒฝ์šฐ ํ•˜๋“œ ๋””์Šคํฌ์˜ ์ผ๋ถ€ ๊ณต๊ฐ„์„ ํ™œ์šฉํ•ด์„œ ์ž‘์—…์„ ๋„์™€์ฃผ๋Š” ์˜์—ญ → ์ฆ‰ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋ถ€์กฑ์„ ์œ„ํ•œ ์ž„์‹œ๋ฐฉํŽธ ์ด์™€ ๊ฐ™์€ ๊ณผ์ •์„ ํŽ˜์ด์ง€ ๊ต์ฒด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ”‘ ํŽ˜์ด์ง€ ๋ถ€์žฌ๋ž€? CPU์—์„œ ํ˜„์žฌ ์š”์ฒญํ•œ ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—†์–ด ๋ฌดํšจ๋กœ ์„ธํŒ…๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ๋กœ, ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ์—์„œ ์ฝ์–ด์˜ค๋Š” ๊ณผ์ •์—์„œ overhead๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค. ๐Ÿ’กFIFO(First In First Out) ์•Œ๊ณ ๋ฆฌ์ฆ˜ (ํŽ˜์ด์ง€์—..

CS 2022. 8. 30. 21:40
๋ฐ˜์‘ํ˜•
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30