Skip to content

marona42/univ-assignments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๊ณผ์ œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ

๋ธŒ๋žœ์น˜๋ณ„๋กœ ํ•™๋ถ€๊ณผ์ • ์ค‘ ํ–ˆ๋˜ ๊ฐœ์ธ ๊ณผ์ œ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜ ์†Œ๊ฐœ

์ปดํŒŒ์ผ๋Ÿฌ

cp

yacc๋ฅผ ์ด์šฉ, ์œ ์‚ฌ C์–ธ์–ด ์ปดํŒŒ์ผ๋Ÿฌ ์ œ์ž‘ ์†Œ์Šค๋กœ, ์‹ ํƒ์Šค ๋ถ„์„๊ธฐ, ์‹œ๋ฉ˜ํ‹ฑ ๋ถ„์„๊ธฐ๋ฅผ ์ œ์ž‘ํ•˜๊ณ  ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ๋ฅผ ํ†ตํ•ด C์–ธ์–ด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ  ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋ˆ…์Šค์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ

lspp2

์œ ๋‹‰์Šค/๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ๋กœ๊น…ํ•ฉ๋‹ˆ๋‹ค.
์ด์™ธ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • DELETE [FILENAME] [END_TIME] [OPTION]
    • ์ง€์ •ํ•œ ์‚ญ์ œ ์‹œ๊ฐ„(END_TIME)์— ์ž๋™์œผ๋กœ ํŒŒ์ผ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
    • FILENAME์€ ์ƒ๋Œ€๊ฒฝ๋กœ, ์ ˆ๋Œ€๊ฒฝ๋กœ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ต์…˜์„ ํ†ตํ•ด trash ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜, ์‚ญ์ œ์‹œ ์‚ญ์ œ ์—ฌ๋ถ€๋ฅผ ์žฌํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • SIZE [FILENAME] [OPTION]
    • FILENAME์˜ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฌธ์ž์—ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅ๋˜๋ฉฐ, ๊ฒฝ๋กœ๋Š” ์ƒ๋Œ€๊ฒฝ๋กœ๋กœ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
    • ์˜ต์…˜์„ ํ†ตํ•ด ๊นŠ์ด d ๋งŒํผ์˜ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • RECOVER [FILENAME] [OPTION]
    • trash ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์˜ ํŒŒ์ผ์„ ์›๋ž˜ ๊ฒฝ๋กœ๋กœ ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค.
    • ๋™์ผํ•œ ์ด๋ฆ„์˜ ํŒŒ์ผ์ด trash ์•ˆ์— ์žˆ์„ ๊ฒฝ์šฐ, ์‚ฌ์šฉ์ž ์„ ํƒ์„ ํ•˜๋ฉฐ ๋ณต๊ตฌ์‹œ ์ค‘๋ณต๋  ๊ฒฝ์šฐ ์•ž์— ์ˆซ์ž๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ต์…˜์„ ํ†ตํ•ด ์‚ญ์ œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๋œ ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ›„ ์ง„ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • TREE
    • ๋ชจ๋‹ˆํ„ฐ๋ง ์ค‘์ธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ tree ํ˜•ํƒœ ๊ทธ๋ฆผ์œผ๋กœ ์ถœ๋ ฅํ•ด ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • EXIT
    • ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • HELP
    • ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์šฉ๋ฒ•์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

lspp3

๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ ์ƒ์—์„œ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋™๊ธฐํ™”ํ•˜๋Š” rsync์™€ ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ช…๋ น์œผ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” crontab์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

  • crontab
    • ssu_crontab_file์— ๋ช…๋ น์–ด๋ฅผ ์ €์žฅ ๋ฐ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
    • ssu_crond ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์ฃผํ•ด ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹คํ–‰์‹œํ‚ต๋‹ˆ๋‹ค.
    • ๋ช…๋ น์–ด๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค๋ฉด ssu_crontab_log์— ๋กœ๊น…ํ•ฉ๋‹ˆ๋‹ค.
    • ssu_crontab_log์—๋Š” ๋ช…๋ น์–ด๊ฐ€ ์ถ”๊ฐ€, ์ œ๊ฑฐ๋  ๋•Œ์—๋„ ๋กœ๊น…๋ฉ๋‹ˆ๋‹ค.
  • rsync
    • src ๋””๋ ‰ํ† ๋ฆฌ(๋ฐ ํŒŒ์ผ)์™€ dst ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ต์…˜์„ ํ†ตํ•ด ์„œ๋ธŒ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๊ณ , dst ๋””๋ ‰ํ† ๋ฆฌ๋Š” src์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋‚˜ ํŒŒ์ผ์„ ์‚ญ์ œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  tar๋กœ ๋ฌถ์–ด ๋™๊ธฐํ™” ๋˜ํ•œ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์šด์˜์ฒด์ œ

osp3

  • xv6 ํ™˜๊ฒฝ์„ ์„ธํŒ…ํ•˜๊ณ , ๊ด€๋ จ ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค.
    • ์ƒˆ ์‹œ์Šคํ…œ ์ฝœ ์ถ”๊ฐ€ ๋ฐ ์ƒˆ ์‹œ์Šคํ…œ ์ฝœ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„
      • ๊ฐ„๋‹จํ•œ ๋ฌธ๊ตฌ ์ถœ๋ ฅ: hello(), hello_name()
      • ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์‹œ์Šคํ…œ ์ฝœ: get_num_proc(), get_max_pid(), get_proc_info()
      • ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ์œ„ํ•œ ์‹œ์Šคํ…œ ์ฝœ: set_prio(), get_prio()
    • ์šฐ์„ ์ˆœ์œ„ ๊ธฐ๋ฐ˜ RR ์Šค์ผ€์ฅด๋Ÿฌ ๊ตฌํ˜„
      • ๊ธฐ๋ณธ RR ์Šค์ผ€์ฅด๋Ÿฌ์—์„œ ์ถ”๊ฐ€ํ•œ ์‹œ์Šคํ…œ ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์šฐ์„ ์ˆœ์œ„ ๊ธฐ๋ฐ˜ RR ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ๊ตฌํ˜„
      • ์ƒˆ๋กœ์šด ์Šค์ผ€์ฅด๋Ÿฌ ํ…Œ์ŠคํŠธ ๋ฐ ๊ฒ€์ฆ

osp4

  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ๊ด€๋ จ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
    • master-worker ์Šค๋ ˆ๋“œ ํ’€์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
      • ๋งˆ์Šคํ„ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ์ˆซ์ž๋ฅผ ์ƒ์‚ฐํ•˜๊ณ , ์›Œํฌ ์Šค๋ ˆ๋“œ๊ฐ€ ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค.
    • reader-writer locks ์Šค๋ ˆ๋“œ ๊ตฌํ˜„ -read/write lock์„ ์ •์˜, ๊ตฌํ˜„ํ•˜๊ณ  ๊ตฌํ˜„ํ•œ ๋‚ด์šฉ์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์„ธ๋งˆํฌ์–ด๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
      • ์ปค๋„ ์ œ๊ณต ์„ธ๋งˆํฌ์–ด์™€ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š” ์‚ฌ์šฉ์ž ์ˆ˜์ค€์˜ ์„ธ๋งˆํฌ์–ด์ž…๋‹ˆ๋‹ค.

osp5

  • ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. (alloc.c)
    • ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•ด ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น, ํ•ด์ œ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ด€๋ฆฌ์ž๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ํ™•์žฅ๊ฐ€๋Šฅํ•œ heap์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. (elloc.c)

osp6

  • ๊ฐ€์ƒ ๋””์Šคํฌ๋ฅผ ์œ„ํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๊ทธ ๊ธฐ๋ณธ ํŒŒ์ผ ๋™์ž‘์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
    • ์ œ๊ณต๋œ ๊ฐ€์ƒ ๋””์Šคํฌ ์—๋ฎฌ๋ ˆ์ด์…˜ ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜์—ฌ ์š”๊ตฌ๋˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
      • ํŒŒ์ผ ์ƒ์„ฑ
      • ํŒŒ์ผ ์‚ญ์ œ (์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ)
      • ํŒŒ์ผ ์—ด๊ธฐ
      • ํŒŒ์ผ ๋‹ซ๊ธฐ
      • ํŒŒ์ผ n๋ฐ”์ดํŠธ ์ฝ๊ธฐ
      • ํŒŒ์ผ n๋ฐ”์ดํŠธ ์“ฐ๊ธฐ
      • ํŒŒ์ผ ์˜คํ”„์…‹ ์ฆ๊ฐ€

About

remote assignment git

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published