본문 바로가기

프로그래밍/운영체제(OS)

[KOCW] 반효경 운영체제 강의 정리 - 3. Process 2

전 강의 Q&A

  • 동기식 입출력과 비동기식 입출력

  • 입출력 요청은 운영체제를 통해서 해야함.
    • 해당 과정은 오래 걸림
  • 입출력이 끝날 때까지 기다려야 하면 동기식 입출력
  • 입출력 요청 후 다른 작업을 진행한다면 비동기식 입출력

Thread

  • "A thread(or lightweight process) is a basic unit of CPU utilization"
  • Thread의 구성
    • program counter
    • register set
    • stack space
  • Thread가 동료 Thread와 공유하는 부분(=task)
    • code section
    • data section
    • OS resources
  • 전통적인 개념의 heavyweight process는 하나의 thread를 가지고 있는 task로 볼 수 있다.

  • CPU 수행을 위해서는 PC가 필요하고, 해당 CPU에서 실행하면서 register 저장 공간이 필요하므로 Thread 각각 별도로 유지하고 있다.
  • 또한, Thread가 각각 함수를 호출할 때 별도의 Stack 공간에 저장한다.

Thread의 장점

  • 다중 스레드로 구성된 태스크 구조에서는 하나의 서버 스레드가 blocked (waiting) 상태인 동안에도 동일한 태스트 내의 다른 스레드가 실행(running)되어 빠른 처리를 할 수 있다.
  • 동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율(throughput)과 성능 향상을 얻을 수 있다.
  • 스레드를 사용하면 병렬성을 높일 수 있다.

 

 

출처 : http://www.kocw.net/home/cview.do?lid=29d9a718cff884c3