OS_03_Fundamental_Concepts

saewoohan·2023년 7월 28일
0

OS

목록 보기
1/19
post-thumbnail

OS_03_Fundamental_Concepts

1. Abstraction

1) 개요

  • abstraction이란, 복잡성을 줄이기 위해서 key features들만을 선택하는 것이다.
  • OS에서의 abstraction
    • OS는 hardware의 복잡성을 숨기고, clean, uniform, standard 한 인터페이스를 제공한다.

  • OS는 Big Library라고 생각 할 수 있다.
    • POSIX에서 OS의 국제 표준을 규정하였는데, 구현 되는 내용은 중요치 않고 각 OS들은 Interface만 제공한다.

2) Typical System Structure

  • 보통 App은 Library를 통해서 System Call을 직접 호출한다.
    • system call은 app SW와 OS사이의 interface를 제공
  • Hardware은 OS 최하단의 hardware을 직접적으로 관리하는 코드에 의해 실행된다.
  • 즉, OS 최상단과 최하단은 각각 entry point가 된다.

2. Protection

1) 개요

  • OS는 다양한 application faults에 대해서 system을 보호한다.
  • Ex) separation of each progoram’s memory space
    • Base register → 가장 낮은 유효한 memory address를 가진다.
    • Limit register → 범위의 제한을 가진다.
    • 이를 통해서 memory space를 보호한다.

3. Illusion

1) 개요

  • OS가 프로그램이나 사용자를 속이는 것이다.
  • 마치 hardware의 제한이 없는 것처럼 만든다.
    • Time Shared Multitasking → 1ms 단위로 process들의 cpu 사용을 바꾸면서 마치 multicore인 것처럼 행동한다.
    • Virtual Memory → 1개의 program이 전부다 메모리 공간을 사용하는 것처럼 속인다.

4. Coordination and Optimization

  • 많은 것들이 효율적으로 함께 작업되게 한다.
  • 동시성
    • Multitasking (synchronization and scheduling)
    • Multi-user support
    • Multithreading
  • 효율성
    • Overlapped I/O and Processing
      • I/O device들과 CPU는 동시에 수행될 수 있다.
    • 효율적인 공간 관리
      • Caching, paging, and swapping
    • 빠른 interrupt handling

0개의 댓글