Home [OS] 운영체제 - 프로세스 관리 4
Post
Cancel

[OS] 운영체제 - 프로세스 관리 4

운영체제 - 프로세스 관리 4

프로세스 상태

  • Swap in, out : 프로세스의 메모리를 빼앗거나 부여한다. suspended 상태로 보낸다.

Thread

  • 쓰레드는 CPU의 실행 단위에 해당한다.
  • 프로세스에서 CPU 수행과 관련한 부분(program counter, register set, stack space)을 별도로 가지고 있다.
  • CPU 수행 외의 부분인 코드, 데이터, OS resource는 동료 thread와 공유하는 부분에 속한다.
  • 쓰레드 간에 CPU가 넘어가는 작업은 Context Switching의 값비싼 오버헤드를 방지할 수 있다. 매우 효율적이다.
  • 다중 스레드로 구성된 태스크 구조에서는 하나의 서버 스레드가 blocked 상태인 동안에도 동일한 태스크 내의 다른 스레드가 running되어 빠르게 처리 가능하다.
  • 동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율(throughput)과 성능 향상을 얻을 수 있다.
  • 스레드를 사용하면 병렬성을 높일 수 있다.

스레드의 장점

  • 응답성이 빠르다.
  • 자원을 공유하는 효과가 있다.
  • 프로세스 하나를 만드는 것보다 스레드 하나를 새로 만드는 것이 매우 효율적이다.
  • 멀티 프로세서 환경에서 스레드를 사용함으로써 병렬성을 얻을 수 있다.

스레드 구현 방법

  • 운영체제 이미 스레드를 알고 있는 경우 : Kernel Threads
  • 운영체제가 스레드의 존재를 모르는 경우 : User Threads
    • 운영체제는 프로세스 내부의 스레드 존재 여부를 잘 모르지만, 프로세스에 작업을 전달하면 그 내부에서는 스레드를 통해 동작하는 상태다.
This post is licensed under younghwani by the author.

[OS] 운영체제 - 프로세스 관리 3

[OS] 운영체제 - 프로세스 관리 5

Comments powered by Disqus.