권영진 교수님 OS 강의 - 2

신승준·2022년 7월 1일
0

운영체제

목록 보기
12/12
post-custom-banner
  • 51

  • 데이터가 읽혔고, 데이터를 전달했다는 의미로 세마포어를 사용한다. up, down

  • polling도 사용된다.

    • 빠른 커뮤니케이션을 위해서는 polling사용.(적은 latency, 1 ~ 2 마이크로세컨드)
    • 세마포어는 업되면 레디큐에 들어갔다가 스케줄 in 되는데에 시간이 걸린다.
  • 프로세스 세마포어랑, 쓰레드 세마포어가 따로 있다.

  • 57

    • 선점
      • new -> ready(fork)
      • wait -> ready로 쓰레드가 들어올 때
      • running -> ready
      • running -> wait
      • running -> terminated
  • 반응성이 중요한 것은 선점형으로, 덜 중요한 것은 비선점형으로 쓴다.

    • 비선점형이 throughput?이 좋다.(성능이 좋다)
    • 맡은 건 끝까지 다 해서.
  • 핀토스에서는 라운드 로빈에서 발전된 멀티 레벨 피드백 큐를 사용한다.

  • 60

    • 라운드 로빈의 경우 컨텍스트 스위칭이 많이 일어난다.
  • 65

    • microkernel
      • OS의 역할을 최소화시키고자 user-level로 몇 가지 컴포넌트를 넘긴 것.
      • user level에서 드라이버나 파일 시스템, 메모리 매니지먼트에서 fault가 나면 user-level을 재부팅하면 된다.
      • monolithic kernel에서는 커널에서 드라이버 등에서 fault가 나면 블루스크린 등이 뜨면서 OS가 꺼진다.
        - 하지만 kernel mode, user mode로 자주 바뀌므로 성능이 느려져 잘 쓰지 않는다.
      • 클라우드에서는 성능이 돈이니 monolithic을 쓴다.
    • MIT JOS가 micro, PintOS는 monolithic이다.
      • 자동차, 기차 등에서는 micro를 쓰기도 한다고 한다.
profile
메타몽 닮음 :) email: alohajune22@gmail.com
post-custom-banner

0개의 댓글