Thread

정하윤·2022년 8월 16일
0
post-custom-banner

Thread

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

Thread의 구성

  • program counter
  • register set
  • stack space

Therad가 동료thread와 공휴나는 부분 (=task)

  • code section
  • data section
  • OS resources

Threads 의 장점

  • 응답성

    • 여러개의 thread를 사용하면 만약 홈페이지를 불러오는데 이미지를 불러오는 thread가 blacked를 당해도 다른 text파일을 불러오는 thread는 불러와지기 때문에 사용자 입장에서 답답함이 덜함
  • 자원 공유

  • 하나의 프로세스를 만들고 cpu수행 단위를 여러개 두고 공유함

  • 경제성

-프로세르 하나에 thread하나를 추가하는건 overhead가 작다.

Process Management

프로세스 생성

  • 부모 프로세스가 자식 프로세스 생성

  • 프로세스의 트리 형성

  • 프로세스는 자원을 필요로 함

    - 운영체제로부터 받는다.
    
    - 부모와 공유한다.
  • 자원의 공유

    • 부모와 자식이 모든 자원을 공유하는 모델

    • 일부를 공유하는 모델

    • 전혀 공유하지 않는 모델 (일반적임)

  • 수행(Execution)

    • 부모와 자식은 공존하며 수행되는 모델

    • 자식이 종료될 때까지 부모가 기다리는 모델

  • 주소 공간

    -자식은 부모의 공간을 복사함

    -자식은 그 공간에 새로운 프로그램을 올림

프로세스 종료

-프로세스가 마지막 명령을 수행한 후 운영체제에게 이를 알려줌(exit)

  • 자식이 부모에게 output data를 보냄 (via data)
  • 프로세스의 각종 자원들이 운영체제에게 반납됨

-부모 프로세스가 자식의 수행을 종료시킴(abort)

  • 자식이 할당 지원의 한계치를 넘어섬
  • 자식에게 할당된 테스크가 더 이상 필요하지 않음
  • 부모가 종료하는경우
post-custom-banner

0개의 댓글