내가 직접 정리한 내용 기록용 벨로그
Operating Systems: Three Easy Pieces 웹버젼 /Korean 을 덧붙히면 한국어 번역본도 볼 수 있다. 대소문자 중요!
https://pages.cs.wisc.edu/~remzi/OSTEP/
카이스트 pintOS 깃북.
단순한 프로젝트 설명 뿐만 아니라, 개괄적인 개념에 대해서도 약간이나마 설명해준다. OS프로그램 관점에서의 개념을 익히기 좋다.
https://casys-kaist.github.io/pintos-kaist/
stanford 버젼 pintOS 설명들. 함수들에 대한 설명이 (project 1,2)기준 카이스트 깃북보다 더 많다.
https://web.stanford.edu/class/cs140/projects/pintos/pintos.html#SEC_Top
카이스트 권영진 교수님 추상화와 관련된 OS 강의
https://drive.google.com/file/d/1v7ZT0uCqnSFQQY3jQsnXnCh9WHPpgQxZ/view
sw정글 PintOS 공부 가이드라인
- 본 검색어 목록은 어디서부터 시작해야 할 지 감이 잡히지 않을 때 검색에 도움이 될 수 있을 정도의 간단한 검색어를 모은 것입니다. 리스트에 있는 키워드를 전부 이해하고 시작할 필요는 없습니다.
- 제공하는 유튜브 링크도 역시 참고용으로, 목록에 있는 영상을 전부 볼 필요는 없습니다.
- 빨간색 키워드는 선택 과제에 대한 키워드입니다.
- 검색어를 프로젝트별로 분류해 놓았지만 분류가 정확하지 않을 수 있으며 한 검색어가 여러 개의 프로젝트와 동시에 관련되어 있을 수 있습니다. 검색어들의 순서에도 규칙이 없습니다.
참고 영상
-
- 영어자료, OS의 기능들을 keyword로 정리
-
- 한글자료, thread와 time-sharing system 기초개념 (쉬운 설명)
-
- 영어자료, user/kernel mode, syscall 기초개념
키워드 모음
Project 0: PintOS
Virtual Machine ~= Hypervisor
- qemu
Common bugs
- Memory leak
- Race condition
- Deadlock
- Use after free
Project 1: Threads
Time-sharing system
- Context Switching
- Scheduler
- Round Robin (RR)
- Priority
- Priority donation
- Multi-Level Feedback Queue Scheduler (MLFQS)
- 4BSD
- nice
- Thread
- Thread control block (TCB)
Timer Interrupt
Timer sleep
Synchronization
- Semaphore
- lock
- condvar
Project 2: User Programs
User mode vs. Kernel mode
Process
- Process Environment block (PEB)
- Process identifier (PID)
User Stack
x86_64 calling convention
Register vs. Memory
argument vector
Executable Linkable Format (ELF) & loader
system call (syscall)
!!CAUTION!! some system call’s semantic may differ from POSIX standards
- filesys related
- open, close, create, read, write, seek, tell, ...
- process related
- halt, exit, exec, fork, wait ...
file descriptor
- file descriptor table
- dup2 syscall
Project 3: Virtual Memory
Virtual memory management
- paging
- virtual page
- physical frame
- page table & supplementary page table
- Memory Management Unit (MMU)
- Translation Lookaside Buffer (TLB)
Page type
- Uninitialized page
- Lazy initialization
- Anonymous page
- stack growth
- file-backed page
- mmap syscall
Swap in/out
- page replacement policy
- swap disk
Copy on Write (COW)
Project 4: File System
Type of file system
- FAT(File Allocation Table)
- Berkley FFS
- EXT
File system component
- file
- extensible file
- directory
- working directory
- link
- hard link vs soft link
File system implementation
- sector & cluster
- super block
- disk inode
- in-memory inode
- open inode table
Buffer cache
filesystem mount
Journaling
'sw사관학교 정글 2기 > pintOS' 카테고리의 다른 글
WIL week11~12 pintOS Virtual Memory (0) | 2021.10.28 |
---|---|
WIL - week09~10 (0) | 2021.10.14 |
Velog.io에 필기 합니다. (0) | 2021.10.04 |
댓글