๋ธ๋์น๋ณ๋ก ํ๋ถ๊ณผ์ ์ค ํ๋ ๊ฐ์ธ ๊ณผ์ ๋ฅผ ์ ๋ฆฌํ๋ ๋ ํฌ์งํ ๋ฆฌ์ ๋๋ค.
yacc๋ฅผ ์ด์ฉ, ์ ์ฌ C์ธ์ด ์ปดํ์ผ๋ฌ ์ ์ ์์ค๋ก, ์ ํ์ค ๋ถ์๊ธฐ, ์๋ฉํฑ ๋ถ์๊ธฐ๋ฅผ ์ ์ํ๊ณ ์ฝ๋ ์์ฑ๊ธฐ๋ฅผ ํตํด C์ธ์ด ์์ค ์ฝ๋๋ฅผ ํ์ฑํ๊ณ ๊ธฐ๊ณ์ด ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
์ ๋์ค/๋ฆฌ๋
์ค ํ๊ฒฝ์์ ํน์ ๋๋ ํ ๋ฆฌ ์๋ ํ์ผ์ ๋ณ๊ฒฝ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ์ฌ ๋ก๊น
ํฉ๋๋ค.
์ด์ธ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- DELETE [FILENAME] [END_TIME] [OPTION]
- ์ง์ ํ ์ญ์ ์๊ฐ(END_TIME)์ ์๋์ผ๋ก ํ์ผ์ ์ญ์ ํฉ๋๋ค.
- FILENAME์ ์๋๊ฒฝ๋ก, ์ ๋๊ฒฝ๋ก ๋ชจ๋ ๊ฐ๋ฅํฉ๋๋ค.
- ์ต์ ์ ํตํด trash ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ง ์๊ณ ๋ฐ๋ก ํ์ผ์ ์ญ์ ํ๊ฑฐ๋, ์ญ์ ์ ์ญ์ ์ฌ๋ถ๋ฅผ ์ฌํ์ธํ ์ ์์ต๋๋ค.
- SIZE [FILENAME] [OPTION]
- FILENAME์ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- ๋ฌธ์์ด ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅ๋๋ฉฐ, ๊ฒฝ๋ก๋ ์๋๊ฒฝ๋ก๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
- ์ต์ ์ ํตํด ๊น์ด d ๋งํผ์ ํ์ ๋๋ ํ ๋ฆฌ๊น์ง ์ถ๋ ฅํ ์ ์์ต๋๋ค.
- RECOVER [FILENAME] [OPTION]
- trash ๋๋ ํ ๋ฆฌ ์์ ํ์ผ์ ์๋ ๊ฒฝ๋ก๋ก ๋ณต๊ตฌํฉ๋๋ค.
- ๋์ผํ ์ด๋ฆ์ ํ์ผ์ด trash ์์ ์์ ๊ฒฝ์ฐ, ์ฌ์ฉ์ ์ ํ์ ํ๋ฉฐ ๋ณต๊ตฌ์ ์ค๋ณต๋ ๊ฒฝ์ฐ ์์ ์ซ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ์ต์ ์ ํตํด ์ญ์ ์๊ฐ์ด ์ค๋๋ ์์ผ๋ก ์ถ๋ ฅํ ์งํ ํ ์ ์์ต๋๋ค.
- TREE
- ๋ชจ๋ํฐ๋ง ์ค์ธ ๋๋ ํ ๋ฆฌ๋ฅผ tree ํํ ๊ทธ๋ฆผ์ผ๋ก ์ถ๋ ฅํด ๋ณด์ฌ์ค๋๋ค.
- EXIT
- ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ์ํต๋๋ค.
- HELP
- ํ๋ก๊ทธ๋จ ์ฌ์ฉ๋ฒ์ ์ถ๋ ฅํฉ๋๋ค.
๋ฆฌ๋ ์ค ์์คํ ์์์ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋๊ธฐํํ๋ rsync์ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํํ๊ณ ์ ํ๋ ๋ช ๋ น์ผ๋ฅผ ๋ฑ๋กํ๊ณ ์คํํ๋ crontab์ ๊ตฌํํฉ๋๋ค.
- crontab
- ssu_crontab_file์ ๋ช ๋ น์ด๋ฅผ ์ ์ฅ ๋ฐ ์ญ์ ํฉ๋๋ค.
- ssu_crond ํ๋ก์ธ์ค๊ฐ ์์ฃผํด ์ฃผ๊ธฐ์ ์ผ๋ก ์คํ์ํต๋๋ค.
- ๋ช ๋ น์ด๊ฐ ์ ์์ ์ผ๋ก ์คํ๋๋ค๋ฉด ssu_crontab_log์ ๋ก๊น ํฉ๋๋ค.
- ssu_crontab_log์๋ ๋ช ๋ น์ด๊ฐ ์ถ๊ฐ, ์ ๊ฑฐ๋ ๋์๋ ๋ก๊น ๋ฉ๋๋ค.
- rsync
- src ๋๋ ํ ๋ฆฌ(๋ฐ ํ์ผ)์ dst ๋๋ ํ ๋ฆฌ๋ฅผ ๋๊ธฐํํฉ๋๋ค.
- ์ต์ ์ ํตํด ์๋ธ๋๋ ํ ๋ฆฌ๋ฅผ ํฌํจํ ์ ์๊ณ , dst ๋๋ ํ ๋ฆฌ๋ src์ ์กด์ฌํ์ง ์๋ ๋๋ ํ ๋ฆฌ๋ ํ์ผ์ ์ญ์ ํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ tar๋ก ๋ฌถ์ด ๋๊ธฐํ ๋ํ ๊ฐ๋ฅํฉ๋๋ค.
- xv6 ํ๊ฒฝ์ ์ธํ
ํ๊ณ , ๊ด๋ จ ์์
์ ํฉ๋๋ค.
- ์ ์์คํ
์ฝ ์ถ๊ฐ ๋ฐ ์ ์์คํ
์ฝ์ ํ
์คํธํ๋ ํ๋ก๊ทธ๋จ ๊ตฌํ
- ๊ฐ๋จํ ๋ฌธ๊ตฌ ์ถ๋ ฅ: hello(), hello_name()
- ํ๋ก์ธ์ค ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ์์คํ ์ฝ: get_num_proc(), get_max_pid(), get_proc_info()
- ์ค์ผ์ฅด๋ฌ๋ฅผ ์ํ ์์คํ ์ฝ: set_prio(), get_prio()
- ์ฐ์ ์์ ๊ธฐ๋ฐ RR ์ค์ผ์ฅด๋ฌ ๊ตฌํ
- ๊ธฐ๋ณธ RR ์ค์ผ์ฅด๋ฌ์์ ์ถ๊ฐํ ์์คํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ฐ์ ์์ ๊ธฐ๋ฐ RR ์ค์ผ์ฅด๋ฌ๋ฅผ ๊ตฌํ
- ์๋ก์ด ์ค์ผ์ฅด๋ฌ ํ ์คํธ ๋ฐ ๊ฒ์ฆ
- ์ ์์คํ
์ฝ ์ถ๊ฐ ๋ฐ ์ ์์คํ
์ฝ์ ํ
์คํธํ๋ ํ๋ก๊ทธ๋จ ๊ตฌํ
- ๋ค์ค ์ค๋ ๋ ๊ด๋ จ ํ๋ก๊ทธ๋จ์ ๊ตฌํํฉ๋๋ค.
- master-worker ์ค๋ ๋ ํ์ ๊ตฌํํฉ๋๋ค.
- ๋ง์คํฐ ์ค๋ ๋๊ฐ ์ซ์๋ฅผ ์์ฐํ๊ณ , ์ํฌ ์ค๋ ๋๊ฐ ์ ํํ ํ ๋ฒ ์๋นํฉ๋๋ค.
- reader-writer locks ์ค๋ ๋ ๊ตฌํ -read/write lock์ ์ ์, ๊ตฌํํ๊ณ ๊ตฌํํ ๋ด์ฉ์ ํ ์คํธํฉ๋๋ค.
- ์ฌ์ฉ์ ์์ค ์ธ๋งํฌ์ด๋ฅผ ๊ตฌํํฉ๋๋ค.
- ์ปค๋ ์ ๊ณต ์ธ๋งํฌ์ด์ ์ถฉ๋ํ์ง ์๋ ์ฌ์ฉ์ ์์ค์ ์ธ๋งํฌ์ด์ ๋๋ค.
- master-worker ์ค๋ ๋ ํ์ ๊ตฌํํฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋์ ์ผ๋ก ํ ๋นํ๋ ์ฌ์ฉ์ ์ง์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์๋ฅผ ๊ตฌํํฉ๋๋ค. (alloc.c)
- ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ ์ํด ๊ตฌํํฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ํ ๋น, ํด์ ํจ์๋ฅผ ๊ตฌํํฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ๊ด๋ฆฌ์๋ฅผ ๊ตฌํํฉ๋๋ค.
- ํ์ฅ๊ฐ๋ฅํ heap์ ๊ตฌํํฉ๋๋ค. (elloc.c)
- ๊ฐ์ ๋์คํฌ๋ฅผ ์ํ ํ์ผ ์์คํ
๊ณผ ๊ทธ ๊ธฐ๋ณธ ํ์ผ ๋์์ ๊ตฌํํฉ๋๋ค.
- ์ ๊ณต๋ ๊ฐ์ ๋์คํฌ ์๋ฎฌ๋ ์ด์
์ฝ๋๋ฅผ ํด์ํ์ฌ ์๊ตฌ๋๋ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค.
- ํ์ผ ์์ฑ
- ํ์ผ ์ญ์ (์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ง)
- ํ์ผ ์ด๊ธฐ
- ํ์ผ ๋ซ๊ธฐ
- ํ์ผ n๋ฐ์ดํธ ์ฝ๊ธฐ
- ํ์ผ n๋ฐ์ดํธ ์ฐ๊ธฐ
- ํ์ผ ์คํ์ ์ฆ๊ฐ
- ์ ๊ณต๋ ๊ฐ์ ๋์คํฌ ์๋ฎฌ๋ ์ด์
์ฝ๋๋ฅผ ํด์ํ์ฌ ์๊ตฌ๋๋ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค.