얇게 공부한 CS
-
[OS] Process와 Thread얇게 공부한 CS 2023. 8. 29. 11:55
Process 컴퓨터에서 실행 중인 프로그램의 인스턴스를 나타내는 개념이다. 각 프로세스는 운영체제에 의해 관리되며 독립된 실행 환경을 가지고 있다. 프로세스는 연산의 단위라 말할 수 있고, 연산이 연속적으로 진행되며 흐름(Context, flow)을 생성한다. 보통 프로세스 수준에서 기본적으로 1개의 흐름이 있다. 보통 하나의 프로세스에는 하나의 주요 흐름이 있고, 이를 메인 스레드라고 한다. 프로세스의 연산은 운영체제에 의해 관리되고, CPU나 RAM메모리의 할당을 받는다. 할당된 RAM은 가상 메모리 (Virtual Memory)이다. 흐름이 N개가 되면 이 N개는 동시에 각자 작동 ← Multi-threading 하나의 프로세스 내부에 여러 개의 스레드가 존재하는 경우, 이 스레드들은 동일한 프로..
-
[OS] 인터럽트(interrupt)얇게 공부한 CS 2023. 8. 8. 12:20
인터럽트 종류 외부 인터럽트 전원 이상: 정전, 파워 이상 기계 착오: CPU의 기능적인 오류 외부: 자원 할당 시간 종료, 키보드로 강제 (control + Alt + Delete), 외부 장치로부터 인터럽트 요청 입출력 인터럽트: 입출력 장치의 데이터 전송 요구 or 전송 끝난 후 다음 동작 수행야 될 때, 입출력 데이터에 이상이 있는 경우 내부 인터럽트 잘못된 명령, 잘못된 데이터 사용 프로그램 검사: Division by zero, Overflow/Underflow 인터럽트 동작 순서 인터럽트 요청 → 프로그램 실행 중단 → 현재 상태 보존(PCB, PC) → 인터럽트 처리 루틴 실행 → 인터럽트 서비스 루틴 실행 → 상태복구(PC) → 중단된 프로그램 실행 재개(PCB) PCB(Process c..