본문 바로가기

Operating System3

운영체제(Operating System) - 스레드 스레드란?프로세스를 구성하는 실행 흐름의 단위하나의 프로세스는 하나 이상의 스레드를 가질 수 있다스레드는 단일 스레드, 멀티 스레드(실행 흐름이 여러 개)로 구분된다  스레드의 구성 요소스레드 ID, 프로그램 카운터를 비롯한 레지스터 값, 스택 등 실행에 필요한 최소한의 정보스레드들은 자원을 공유하면서 실행cf) 요즘 운영체제들은 스레드 단위로 CPU를 할당받는 경우가 많음  멀티 프로세스와 멀티 스레드동일한 작업을 수행하는 단일 프로세스 여러개 실행 vs 하나의 프로세스를 여러 스레드로 실행어떤 차이가 있을까? 프로세스를 fork하면 코드/데이터/힙 영역 등 모든 자원이 복제되어 저장됨저장된 메모리 주소를 제외하면 모든 것이 동일한 프로세스 두 개가 통째로 메모리에 적재 cf) fork 직후 같은 프로.. 2025. 1. 4.
운영체제(Operating System) - 프로세스 프로세스포그라운드 프로세스: 사용자가 볼 수 있는 공간에서 실행되는 프로세스백그라운드 프로세스: 사용자가 볼 수 없는 공간에서 실행되는 프로세스사용자와 직접 상호작용이 가능한 백그라운드 프로세스사용자와 상호작용하지 않고 그저 정해진 일만 수행하는 프로세스(데몬, 서비스) 프로세스 제어 블록모든 프로세스는 실행을 위해 CPU가 필요하다.하지만 CPU의 자원은 한정되어 있다 -> 프로세스들은 돌아가며 한정된 시간만큼만 CPU 이용- 자신의 차례에 정해진 시간만큼 CPU 이용- 타이머 인터럽트가 발생하면 차례 양보 빠르게 번갈아가며 수행되는 프로세스들을 관리해야하는데, 이를 위해 사용하는 것이 프로세스 제어 블록(PCB)이다.- 프로세스 관련 정보를 저장하는 자료 구조- 옷 상품에 달린 태그와 같은 정보- 프.. 2025. 1. 3.
운영체제(Operating System) - 커널 운영체제의 심장, 커널운영체제는 현존하는 프로그램 중 규모가 가장 큰 프로그램 중 하나운영체제가 제공하는 기능은 다양한데, 가장 핵심적인 서비스를 담당하는 부분을 커널이라고 한다. ex) 운영체제에는 속하는데, 커널에는 속하지 않는 기능: UI(유저 인터페이스) - 사용자와 컴퓨터 간 상호작용 위한 통로일 뿐  이중모드와 시스템 호출일반적인 운영 프로그램은 기본적으로 자원에 직접적으로 접근할 수 없다.운영체제는 오직 자신을 통해서만 접근하도록 하여 자원을 보호-> 자원 접근을 대행하는 일종의 문지기 이중모드: CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식사용자 모드운영체제 서비스를 제공받을 수 없는 실행 모드커널 영역의 코드를 실행할 수 없는 실행 모드자원 접근 불가커널.. 2025. 1. 3.