OS 22

멀티 스레드

멀티 스레딩의 장점 멀티 스레딩을 사용하면 여러 작업을 동시에 처리할 수 있으므로 시스템의 전체 처리량이 향상됩니다. 예를 들어, 한 스레드에서 파일을 읽고 다른 스레드에서 데이터를 처리하는 경우, 처리 시간이 절약됩니다. 또 스레드의 context switch 는 프로세스 context switch 와는 달리 캐시 메모리를 비울 필요가 없기 때문에 더 빠르다는 장점이 있습니다. 멀티 스레딩의 문제점 멀티 프로세스 기반으로 프로그래밍할 때는 프로세스 간 공유하는 자원이 없기 때문에 동일한 자원에 동시에 접근하는 일이 없었지만 멀티 스레딩을 기반으로 프로그래밍할 때는 이 부분을 신경써줘야 합니다. 둘 이상의 스레드가 서로 상대방의 작업이 끝나기를 무한정 대기하면서 교착 상태가 발생할 수 있습니다. 또 공유..

OS 2023.04.04

프로세스와 스레드의 차이

프로세스(Process) 프로세스는 실행 중인 프로그램이란 뜻으로 디스크로부터 메모리에 적재되어 CPU 의 할당을 받을 수 있는 것을 말합니다. 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이것들을 총칭하여 프로세스라고 합니다. 구체적으로 살펴보면 전역변수, 정적 변수를 저장하는 데이터 영역, 프로그램 코드가 저장되는 코드 영역, 지역변수와 함수 호출에 필요한 정보가 포함 되는 스택영역 등이 있습니다. 프로세스 제어 블록(Process Control Block, PCB) PCB 는 특정 프로세스에 대한 중요한 정보를 저장 하고 있는 운영체제의 자료구조이다. 운영체제는 프로세스를 관리하기 위해 프로세스의 생성과 동시에 고유한 PCB 를 생성 한다. 프로세스는 CPU 를 할당받아 작업을 처리하다..

OS 2023.04.04