dongdorodongdong
Process / Thread 본문
Program
- 정의
- 어떤 작업을 위해 실행할 수 있는 파일
Process
- 정의
- 주 기억장치에 적재되어 실행중인 프로그램
- CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램
- OS로부터 시스템 자원을 할당받아 관리되는 최소 단위의 작업
- 비동기적(독립적) 행위를 일으키는 주체
- PCB를 가진 프로그램
- 지정된 결과를 얻기 위한 일련의 동작 - 특징
- 디스크에 저장되어있지 않다
- 하드웨어에 의해 사용되는 IO장치가 아니다 - 전송하는 메세지의 형태
- 형식 메세지
- 가변 길이 메세지
- 고정 길이 메세지
PCB(Process Control Block)
- 정의
- OS가 프로세스에 대한 중요한 정보를 저장해 놓은 곳 - 특징
- 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스 작업이 끝나면 PCB는 제거 된다.
- 부모 프로세스와 자식 프로세스는 서로 PCB 공유X - 저장 정보
- 현재 상태
- 우선 순위
- 식별자
- 레지스터 정보 및 저장 장소
- 자원에 대한 포인터,
- 프로세스 제어 정보 저장
Thread
- 정의
- 프로세스를 분할하여 OS 성능을 개선하려는 S/W적 방법
- 하나의 프로세스 내에서 병행성을 증대 시키기 위한 기법
- 하나의 thread는 상태를 줄인 경량 프로세스라고도 함
- process나 task 보다 더 작은 단위 - 특징
- 동일한 프로세스 환경에서 서로 독립적인 다중 수행이 가능하다.
- OS의 성능이 개선
- 공유시켜 기억장소 및 자원 낭비가 줄어듬
- 병행성 증진
- 응용 프로그램의 처리율 향상
- 응용 프로그램의 응답 시간 단축 - 분류
- 사용자 수준의 스레드
"사용자가 만든 라이브러리를 사용하여 스레드를 운용"
"빠르지만 구현이 어려움"
- 커널 수준의 스레드
"커널에 의해 스레드를 운용"
"구현이 쉽지만 느림"
'Operating System' 카테고리의 다른 글
CPU Scheduling (0) | 2019.03.26 |
---|---|
가상기억장치의 성능(Working Set/Thrashing/Locality) (0) | 2019.03.26 |
암호화 기법 (0) | 2019.03.26 |
OS 발달 과정 (0) | 2019.03.26 |
Page Replacement Algorithm (0) | 2019.03.26 |