(이 페이지는 week9종료 후 week8과 통합 예정)
<aside>
🔗 github : https://github.com/oyes8/pintos-kaist
</aside>
깃허브 세팅 : 방법1 과 방법2 중 선택해서 하기
❗️👀Topic
- MAJOR:
control flow
, system call
, process
, read&write
⁉️🧐오예스의 target
- [x] 👩👦👦
Argument Passing
(28쪽)
- [x] 👩👦👦
User Memory Access
(82쪽)
- [x] 👩👦👦
System call
(65쪽)
- [x] 💩
Process Termination Message
(112쪽)
- [x] ☠️
Deny Write on Executables
(149쪽)
- [x] 🪦
(opt)Extend File Descriptor
⁉️ 🧩Project2 Mapping
- 👩👦👦Argument Passing
- command line parsing(chap.1
p.g 28쪽
)
- 유저의 요청을 위해 파싱을 해야함
- 파싱 후, stack에 쌓아서, 레지스터님이 들고가실 수 있는 형태를 만들어 줌
- 👩👦👦User Memory Access
- Hierarchical Process Structure(chap.3
p.g 70쪽
)
- 유저의 요청을 해결하기 위해 메모리에 접근할 수 있어야 함
- {유저영역을 벗어났는지, 커널베이스를 지나갔는지}를 체크
- 👩👦👦System call
- System call (chap.2 systemcall
p.g 65쪽
)
- 유저의 요청이 커널모드를 필요 할 때는 system call이 필요함
- halt(), exit(), create(), remove(), wait()… 등등 구현
- 💩Process Termination Message
- System call (chap.2 systemcall
p.g 112쪽
)
- 휴지통 만들기
- ☠️Deny Write on Executables
- Denying Write to Executable (chap.5
p.g 149쪽
)
- 파일을 오픈할 때, 권한검사(추측)
-
🪦(opt)Extend File Descriptor