본문 바로가기

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

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

  • 프로세스는 1개이기 때문에 PCB는 1개만 만들어진다.
  • 그런데 프로세스 안에 스레드가 여러 개 있을 경우 PC, Registers 관련한 정보는 각각 별도의 Copy를 가지고 있게 된다.

  • single thread일 경우 registers, stack은 각각 1개씩 있다.
  • multi thread일 경우 registers, stack은 별도로 각각 1개씩 있다.

Thread의 장점

  • Responsiveness(응답성)
    • 예) 멀티스레드 웹
      • 하나의 스레드 block 상태 : 네트워크 통신
      • 다른 스레드 계속 동작 : 화면 표시 등 작업
  • Resource Sharing(자원 공유)
    • n개의 스레드는 프로세스 내의 binary code, data, resource를 공유할 수 있다.
  • Economy(경제성)
    • creating & CPU switching thread(rather than a process)
      • 프로세스 생성보다 스레드 생성 비용이 싸다.
      • 마찬가지로 CPU 스위칭 또한 프로세스보다 스레드가 더 싸다.
    • Solaris의 경우 위 두 가지 overhead가 각각 30배(생성), 5배(컨텍스트 스위칭)
  • Utilization of MP Architectures(Multi Processor)
    • 각각의 스레드가 서로 다른 CPU에서 병렬적으로 작업 가능

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