- OS의 의무
- 다른 기기와의 상호작용 가능하게
- 프로그램이 메모리 공유할 수 있게
- 프로그램들 실행하기 편하게 하기
- OS가 무슨 일을 하는지
- resource allocator
- control program
- OS가 어떻게 돌아가야 하는지
- Virtualization
- 각 프로세스들이 자신만의 주소 공간이 있다고 믿도록 가스라이팅하는 것
- 주소 공간과 physical address에 매핑하는 것을 OS가 하고, 한 프로세스가 다른 프로세스에 침범하지 못하게 하는 것도 OS가 함
- Concurrency
- 스레드 간 공유되는 영역인 critical section을 처리하는 연산이 atomic하게 되는가?
- 우리 쓰레드가 독점적으로 critical section 처리할 수 있도록 OS가 lock도 걸어줌
- Persistence
- data가 persistent하게 하드웨어와 소프트웨어에 저장되어야 함→ write 도중 system crush : journaling or copy-on-write
- → file I/O system call
- Virtualization
- 설계 목표
- 추상화 잘되게 : User가 와~context 스위치 되어서 내가 지금 프로세스 쓰는구나~ 이렇게 느낄 수는 없잖아,, 사용자가 쉽고 편하게 쓸 수 있도록 잘 감싸기
- 높은 performance 제공: application 잘 돌게 하려는 목적
- Protection : application 서로 방해하지 않도록
- reliablilty : non-stop으로 실행되어야 혀
반응형
'OS' 카테고리의 다른 글
[운영체제] 3. Scheduling Basics (0) | 2024.03.25 |
---|---|
[운영체제] 2. Program and Process (0) | 2024.03.25 |
Swap Space의 상호작용- (Physical Memory, Present Bit, Page Frame, Memory) (0) | 2023.04.06 |
Memory Management Policy (0) | 2023.04.06 |
Hybrid Approach on Paging, Multi-level Page Tables, Page Fault vs. Segmentation Fault (0) | 2023.04.06 |