You will be fine

<Interview> 5. 운영체제 정리

by BFine
반응형

1. 운영체제

  • Operation System 란 하드웨어를 관리하면서 동시에 여러 어플리케이션들이 작동할 수 있는 환경을 제공해주는 소프트웨어(인터페이스 역할<->사용자)
  • 메모리 자원할당, 프로세스, 입출력 등 관리한다. (커널은 운영체제의 주요 부분을 담당한다.)
  • 구성 : 프로세스,메모리, 장치, 파일 관리자
  • 유형 : 일괄처리(batch), 대화형(시분할), 실시간, 하이브리드
  • 멀티프로그래밍 : cpu를 사용 중인 작업이 입출력 작업을 완료하기위해 대기하는 동안 다른 작업이 cpu를 사용

2. 프로세스 & 스레드

  • 운영체제에 의해 메모리에 로드된 프로그램중 현재 실행중인 프로그램을 말한다.
  • 프로세스에는 실행을 위한 컴퓨터자원(CPU, 주기억장치, 파일, 입출력 장치 등)
  • 5가지 상태 : 생성 준비 실행 대기 종료 (준비->실행을 디스패치라고 한다)
  • PCB : 프로세스 정보를 보관 (상태, 번호, 카운터(다음 명령의 주소), 레지스터, 메모리)
  • 이 프로세스의 작업 단위를 스레드라고 하고 여러개 스레드를 가질 수 있는데 이를 멀티스레드라고 한다.

3. 데드락

  • 프로세스가 자원을 얻지 못해 다음 처리를 하지 못하는 상태로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생한다.
  • 두개의 프로세스가 각각 A,B 자원을 사용하면서 B,A 요청하면 이미 사용중이기 때문에 무한정 기다리는 데드락 현상이 발생한다.
  • 상호배제(1자원-1프로세스), 점유대기(가지고 기다림), 비선점(새치기X), 순환대기 의 조건을 성립하면 데드락이 발생한다.

4. CPU 스케줄러

  • CPU는 제어장치와 연산장치(ALU)로 구성되어있다. 사칙연산은 연산장치, 주변장치와 상호작용은 제어장치가 담당한다.
  • FCFS(먼저온거 먼저), SJF(짧은거 먼저), RR(사이좋게 기준시간동안)

5. Fragmentation & Paging

  • 단편화는 프로세스들이 RAM 메모리에 할당될때 남는 공간이 여러군데 발생해 사용을 못하는 것을 말한다.
  • 외부단편화는 합치면 할당이 되는데 조각나있어 사용을 못하는 것 , 내부단편화는 메모리가 프로세스보다 크게 할당되어 남아 도는 것이다
  • LRU(가장 사용안된거), OPT(예측), FIFO

6. 커널레벨스레드, 유저레벨스레드

  • 커널이 스레드를 지원하지 않는 경우 라이브러리 형태로 스레드를 구현한 것이 유저레벨스레드
  • 유저레벨스레드는 하나에 프로세스에 스레드 A,B가 있을떄 A 처리중에 문제가 생길경우 다른 프로세스로 전환되는 단점이 있다.
  • 커널레벨스레드는 속도가 비교적 느린데 그이유는 커널에서 스레드간 컨텍스트 스위칭이 발생할때 모드 전환이 발생한다.
  • 유저모드일경우 커널영역에 접근 할 수 없다.(커널모드는 둘 다 가능)

7. 스케쥴링

  • 여러가지 작업이 있을때 처리 순서를 결정하는 것을 의미한다.
  • 목표 : 처리량, 반환시간 최소, CPU 극대화 등

가. 스케줄링 정책

  • 선점 : 진행 프로세스에 인터럽트를 걸고 다른 프로세스에 CPU를 할당
  • 비선점 : 자체가 인터럽트를 걸거나 작업이 종료할때까지 할당

8. 인터럽트

  • 외부, 내부적인 문제가 발생했을 경우나 제어권을 가져오고 싶을때 하는 명령
  • 인터럽트가 발생하면 실행중인 작업을 중단하고 프로세스 상태 저장 -> 인터럽트 처리 -> 복귀

9. IPC

  • 프로세스간 통신 방법을 의미하고 종류로는 PIPE, SOCKET, MQ 등이 있다.

10. 동기화

  • 멀티스레드 환경에선 공유자원을 이용해 작업을 수행하는 경우가 있다.
  • 자원을 공유하는 영역 (임계영역, 코드블록)이 있다면 작업이 종료될때까지 다른 스레드에게 뺏기지 않는(비선점) 것이 필요하다.
  • 이를 동기화 라하고 공유된 자원에 접근할때 한번에 하나의 스레드만 접근할 수 있도록 잠금을 걸어 데이터의 일관성 을 유지하는 것이다.

가. 세마포어

  • P,V 명령을 이용해서 프로세스의 임계영역 접근을 제어한다.

나. 뮤텍스

참고 & 출처

반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기