본문 바로가기

스레드2

[OS] 프로세스 vs 스레드 프로그램 프로그램이란, 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태를 말한다. 프로세스 메모리에 적재되어 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 프로그램 : 어떤 작업을 위해 실행할 수 있는 파일 운영체제로부터 자원을 할당받은 작업의 단위 특징 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신(IPC, inter-process communication)을 사용해야.. 2021. 8. 18.
[OS] 스레드 이 글은 '그림으로 배우는 구조와 원리 운영체제' 개정3판을 참고하여 작성하였습니다. 첨부된 이미지는 책을 기반으로 직접 제작했습니다. 목차 1. 스레드의 개념과 상태 변화 개념 스레드의 주소 공간 단일 스레드와 다중 스레드 스레드의 상태 변화 스레드의 제어 블록 2. 스레드의 구현 사용자 수준 스레드 커널 수준 스레드 혼합형 스레드 1. 스레드의 개념과 상태 변화 개념 지금까지 살펴본 프로세스는 두 가지 특성인 자원과 제어로 구분할 수 있다. 이 중 제어만 분리한 실행 단위를 스레드(thread)라고 하는데, 프로세스 하나는 스레드 한 개 이상으로 나눌 수 있다. 스레드들은 프로세스의 직접 실행 정보를 제외한 나머지 프로세스 관리 정보를 공유한다. 프로그램 카운터(PC)와 스택 포인터(SP)등을 비롯한.. 2021. 4. 4.