[OS] 4. Process (2)

didio·2023년 3월 3일
0

OS

목록 보기
4/4

📌 Thread

프로세스 내에서 실제로 작업을 수행하는 주체이다.

  • 프로세스가 하나 주어지면 주소공간이 만들어진다. 프로세스를 관리하기위해 운영체제 내부에 프로세스의 정보를 저장하는 PCB가 생성된다.
  • 프로세스는 하나만 띄어놓고, 현재 cpu가 어느부분을 시행하고 있는가를 알기위해 CPU수행 정보를 여러개 두는 경우를 Thread라고 한다.
  • Thread의 구성
    • registers set
    • process counter
    • stack space
  • Thread가 다른 thread와 공유하는 부분
    • data,code,os resources

✌ Thread의 장점

  • 응답성 (Responsiveness)
    • 하나의 프로세스 안에 thread가 여러 개라면 blocked상태일때 다른 thread가 실행되어 빠른 처리가 가능하다.

      :) HTML파일의 이미지파일을 서버에 요청하면 해당 스레드는 blocked되고, 이때 바로 다른 (text를 보여주는 등등) 스레드를 수행하여 오래 걸리는 요청을 기다리지 않고, 먼저 display한다.

  • 자원 공유 (Resource Sharing)
    • 같은 일을 하는 프로세스를 별도로 만든다면 메모리 공간을 낭비하게 되니 여러 개의 thread를 놓는다. :) 웹 브라우저를 여러 개 열거나 한글 파일을 여러 개 띄어 놓는 경우
  • 경제성 (Economy)
    • 프로세스를 만들어 메모리를 생성하는 것보다 프로세스 안에 스레드를 생성하는 것이 더 경제적이다.
  • Utilization of MP Architectures
    • 각각의 스레드가 다른 cpu에서 병렬적으로 일 할 수 있다.

📍 implements Thread

  • Kernel Threads : Kernel에 의해 지원되어 kernel이 아는 상태
  • User Threads : library에 의해 지원되어 사용자 수준에서 아는 상태
profile
🌈프론트엔드 공부 기록

0개의 댓글