프로세스 3

스레드와 프로세스

스레드 프로세스를 구성하는 실행 흐름의 단위 하나의 프로세스는 하나 이상의 스레드를 가질 수 있다 프로세스의 자원을 공유할 수 있다 멀티 스레드 프로세스 실행 흐름이 여러 개인 프로세스 프로세스를 이루는 여러 명령어 동시 실행 가능 스레드의 구성 요소 스레드 ID, 프로그램 카운터를 비롯한 레지스터 값, 스택 등 실행에 필요한 최소한의 정보 동일한 작업을 수행하는 단일 스레드 프로세스 여러 개 실행 VS 하나의 프로세스를 여러 스레드로 실행 어떤 차이가 있을까? (멀티 프로세스와 멀티 스레드) 멀티 프로세스 프로세스를 fork하면 코드/데이터/힙 영역 등 모든 자원이 복제되어 저장됨 저장된 메모리 주소를 제외하면 모든 것이 동일한 프로세스 두 개가 통째로 메모리에 적재 fork를 세 번 네 번 하면 메모..

CS지식 쌓기 2024.01.02

프로세스 상태와 계층 구조

프로세스 상태 생성 상태 이제 막 메모리에 적재되어 PCB를 할당 받은 상태 준비가 완료되었다면 준비 상태로 준비 상태 당장이라도 CPU를 할당받아 실행할 수 있음 자신의 차례가 아니기에 기다리는 상태 자신의 차례가 되면 실행 상태로 바뀜(=디스패치) 실행 상태 CPU를 할당 받아 실행 중인 상태 할당된 시간 모두 사용 시 준비 상태로 실행 도중 입출력 장치를 사용하면 입출력 작업이 끝날 때까지 대기 상태 대기 상태 프로세스가 실행 도중 입출력 장치를 사용하는 경우 입출력 작업은 CPU에 비해 느리기에 이 경우 대기 상태로 접어듬 입출력 작업이 끝나면(입출력 완료 인터럽트를 받으면) 준비 상태로 종료 상태 프로세스가 종료된 상태 PCB, 프로세스의 메모리 영역 정리 프로세스 상태 다이어그램 프로세스 계층..

CS지식 쌓기 2024.01.02

프로세스

포그라운드 프로세스 사용자가 볼 수 있는 공간에서 실행되는 프로세스 백그라운드 프로세스 사용자가 볼 수 없는 공간에서 실행되는 프로세스 데몬, 서비스 - 사용자와 상호작용 하지 않고 그저 정해진 일만 수행하는 프로세스 프로세스 제어 블록 (PCB) 프로세스 관련 정보를 저장하는 상품에 달린 태크 같은 자료 구조 모든 프로세스는 실행을 위해 CPU가 필요하다 하지만 CPU 자원은 한정되어 있다 자신의 차례에 정해진 시간 만큼 CPU이용 타이머 인터럽트가 발생하면 차례 양보 PCB에 담기는 대표적인 정보 프로세스 ID (PID) : 특정 프로세스를 식별하기 위해 부여하는 고유 번호 레지스터 값 프로세스는 자신의 실행 차례가 오면 이전까지 사용한 레지스터 중간 값을 모두 복원 → 실행 재개 프로그램 카운터, ..

CS지식 쌓기 2024.01.02