개발바닥

[ 기술면접 / 운영체제 ] OS 용어 정리 & 프로세스 본문

개인 공부/기술 면접

[ 기술면접 / 운영체제 ] OS 용어 정리 & 프로세스

라이언 2020. 3. 5. 14:56
반응형

운영체제(Operation System) 란?

컴퓨터의 하드웨어를 관리하면서 하드웨어를 손쉽게 그리고 효율적으로 사용할 수 있는 abstraction을 제공하는 점을 알 수 있다. 예를 들면 CPU라는 하드웨어는 processs가 관리를 하고, Memory는 address space가 Disk는 file이 관리한다고 볼 수 있을 것이다. 또한 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중요한 역할을 하는 것을 생각할 수 있는데, 운영체제는 자원의 공유 및 분배를 위한 policy를 제공한다. 

 

1. OS 용어 정리

용어 설명
프로그램 컴퓨터를 실행시키기 위한 일련의 순차적으로 작성된 명령어의 모음. 컴퓨터 시스템의 disk와 같은 secondary storage에 바이너리 형태로 저장되어 있다.
프로세스 메모리에 올라와 실행되고 있는 프로그램의 작업 단위 (Program counter,stack,data section 등을 포함하고 있다.)
쓰레드 프로세스의 작업 단위
API 응용 프로그램이 자신과 연관된 프로그램을 만들 수 있도록 제공하는 인터페이스
시스템 호출 응용 프로그램이 컴퓨터 자원에 직접 접근하는 것을 막기 위해, 커널이 응용 프로그램에게 제공하는 함수
드라이버 커널과 하드웨어의 인터페이스
버퍼 장치 간 속도 차이를 완화하기 위해, 입출력 시 전송되는 데이터를 일시적으로 저장하는 임시 저장소
캐시 메모리와 CPU 간 속도 차이를 완화하기 위해, 메모리의 데이터를 미리 가져와 저장해두는 임시 저장소
인터럽트 입출력 관리자가 CPU에 보내는 완료 신호

 

2. 프로세스

프로세스(Process) 란?

 - 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 (독립적인 개체)

 - 운영체제로부터 시스템 자원을 할당받는 작업의 단위

 - 즉, 동적인 개념으로는 실행된 프로그램을 의미한다.

 - 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다.

 - 프로세스는 각각 독립된 메모리 영역 ( Code, Data, Stack, Heap의 구조)을 할당 받는다.

 

프로세스 상태 

  • New : 메모리에 프로세스가 올라감 PCB 획득
  • Ready : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태 프로세스는 준비상태 큐(스케줄링 큐)에서 실행을 준비하고 있으며 접수 상태에서 준비 상태로의 전이는 Job 스케줄러에 의해 수행된다.
  • Running : 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태이며 프로세스 수행이 완료되기 전에 프로세스에게 주어진 프로세서 할당 시간이 종료 되면 프로세스는 준비상태로 전환됩니다.
  • Waiting : 프로세스에 입출력 처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입출력 처리가 완료될때까지 대기하고 있는 상태입니다.
  • Terminated : 작업이 완료됨 PCB가 사라진 상태

 

※ 프로세스 관련 용어

Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정

Timeout (Interrupt) : 주어진 타임 슬라이스 동안 수행 완료되지 않은 프로세스가 준비 상태로 돌아가는 것

Process Control Block : 프로세스 처리와 관련된 정보가 들어있는 블록

Event Wait (running -> waiting) : I/O 입출력 발생 (CPU 사용 중 I/O 행위가 필요하며 대기 상태로 이동)

Wake-Up (waiting ->ready) : I/O 요청이 완료되면 다시 ready 상태로 전이

 

 

반응형
Comments