본문 바로가기

공부/OS 공부10

[OS 공부] 멀티스레드 & 멀티프로세스 멀티스레드 하나의 응용프로그램을 여러개의 스레드로 구성하고 각 스레드로 하여금 하나의 작업을 처리하도록 하는 것. 웹 서버는 대표적 멀티스레드 응용 프로그램이다. 장점 : 시스템 자원 소모가 감소된다. (효율성증대) - 프로세스를 이용하여 동시에 처리하던 일을 스레드로 구현할 경우 메모리 공간과 시스템 자원 소모가 줄어들게 된다. 스레드 간의 통신이 필요한 경우에도 별도의 자원을 이용하는 것이 아니라 전역 변수의 공간 또는 동적으로 할당된 공간인 Heap 영역을 이용하여 데이터를 주고받을 수 있다. 시스템 처리량 증가 (비용감소) - 스레드 간 데이터를 주고받는것이 간단해짐 - 스레드의 context switching은 프로세스와는 달리 캐시 메모리를 비울 필요가 없기 때문에 더 빠르다 간단한 통신방법으.. 2021. 1. 9.
[OS 공부] 프로세스와 스레드 프로세스 : 실행중인 프로그램 으로 메모리에 적재돼서 CPU에 할당을 받을 수 있는것을 말한다. 위 사진과같이 OS로부터 주소공간과 파일 메모리 등을 할당받고 이를 프로세스라고 한다. Stack 은 함수의 매개변수 , 복귀주소, 로컬변수 와 같은 임시 자료를 갖고 Data 는 전역변수를 포함한다. Heap 은 프로그램 실행중에 동적으로 할당되는 메모리이다. PCB ( 프로세스 제어 블록 ) : 특정 프로세스에 대한 중요한 정보를 저장하고있는 운영체제의 자료구조. 운영체제는 프로세스를 생성함과 동시에 고유 PCB를 생성한다. CPU를 할당받아 작업을 처리하다 프로세스를 전환해야한다면 진행중인 작업을 저장하고 CPU를 반환해아하는데 이때의 상황을 모두 PCB에 저장하게 되고 다시 시작한다면 PCB에 저장해놓.. 2021. 1. 9.
반응형