분류 전체보기

· OS
0. 서론프로세스에서 실행하는 작업은 두 가지로 나뉨CPU Burst → CPU를 사용하는 작업I/O Burst → 입출력장치를 사용하는 작업 CPU Bound Process & I/O Bound Process각각 CPU 집중 프로세스와 I/O 집중 프로세스를 의미 → CPU 집중 프로세스는 소수의 긴 CPU Burst로 구성됨→ I/O 집중 프로세스는 다수의 짧은 CPU Burst로 구성됨일반적으로 컴퓨터 시스템 내에서 수행되는 프로세스는 I/O 집중 Process가 더 많음 → 이는 대부분 대화형 작업으로 사용자와 인터랙션을 해가며 프로그램을 수행두 프로세스가 동시에 CPU를 요구했다면? → I/O Bound Process에 먼저 CPU를 할당하는 것이 효율적 → I/O Bound Process는 입..
· OS
1. 프로세스 생성부모 프로세스가 자식 프로세스를 생성 ☞ 프로세스의 트리 계층 구조 형성 모든 프로세스는 자원을 필요로 함1. 운영체제로부터 직접 자원을 전달받음2. 부모 프로세스와 자원을 공유함→ 부모와 자식이 모든 자원을 공유하는 모델 → 일부를 공유하는 모델 → 전혀 공유하지 않는 모델 (일반적)UNIX의 예fork() 시스템 콜 → 부모 프로세스는 해당 시스템 콜을 통해 자신의 복사본을 자식 프로세스로 생성 → 이때 자식 프로세스는 프로세스 ID를 제외한 부모 프로세스의 모든 정보 (문맥)를 복사exec() 시스템 콜 → 자식 프로세스는 해당 시스템 콜을 통해 자신의 메모리 영역을 새로운 프로그램으로 덮어씌움 2. 프로세스 종료자발적 종료 exit() 시스템 콜→ 운영체제에 자신이 종료됨을 통보..
· OS
1. 프로세스프로세스 (Process)란?실행 중인 프로그램 프로세스 메모리 영역하나의 프로세스는 크게 Code 영역, Data 영역, Stack 영역으로 나뉘어 저장 → Code 영역 : 코드가 기계어 명령어 형태로 변환되어 저장되는 영역 → Data 영역 : 전역 변수 등 프로그램이 사용하는 데이터가 저장되는 영역 → Stack 영역 : 함수가 호출될 때 호출된 함수의 수행을 마치고 복귀할 주소 및 지역변수나 매개변수 등의 데이터가 임시로 저장되는 영역 문맥 (Context)하나의 프로세스 수행을 재개하기 위해 기억해야 할 정보 문맥의 구성요소프로세스 메모리 영역하드웨어 문맥 → CPU의 수행 상태를 나타내는 문맥 → 예) 프로그램 카운터값, 그 외 레지스터값커널 문맥 → 운영체제가 프로세스를 관리하..
· OS
0. 인터럽트CPU의 정상적인 작업을 방해하는 신호 인터럽트 처리 과정CPU는 인터럽트 당한 시점의 프로그램 카운터와 레지스터를 백업CPU의 제어권이 운영체제에 넘어감운영체제는 인터럽트 벡터를 참조하여 인터럽트 서비스 루틴의 주소를 찾음 → 인터럽트 벡터 : 인터럽트 종류 번호에 따라 처리해야 할 코드가 위치하는 부분을 가리키는 자료구조 → 인터럽트 서비스 루틴 (인터럽트 핸들러) : 인터럽트를 처리하는 커널 함수CPU는 인터럽트 서비스 루틴을 실행하고 본래 수행하던 작업으로 복귀 인터럽트 종류하드웨어 인터럽트 : 하드웨어가 발생시킨 인터럽트소프트웨어 인터럽트 : 소프트웨어가 발생시킨 인터럽트, Trap이라고도 부름 → 예외 (Exception) : 사용자 프로그램이 오류를 범한 경우 이에 대한 처리를 ..
깜이오빠
'분류 전체보기' 카테고리의 글 목록 (5 Page)