이론 공부!/기술 면접 준비

[OS] 면접 질문 대비

TutleKing 2022. 8. 24. 22:10
  • 운영체제란?
    • 시스템의 자원과 동작을 관리하는 소프트웨어
    • 프로세스, 저장장치, 네트워킹, 사용자, 하드웨어를 관리
  • 메모리 구조
    • Code : 실행할 프로그램의 코드
    • Data : 전역 변수, 정적 변수 할당
    • Stack : 지역 변수, 매개 변수 (컴파일 타임에 크기가 결정됨)
    • Heap : 사용자의 데이터 동적 할당 (런타임에 크기가 결정됨)
  • 프로세스, 스레드
    • 프로세스 : 실행중인 프로그램 (= 여러개의 스레드로 구성된 실행체)
      • 독립된 영역이므로 메모리와 CPU를 프로세스 마다 할당 받음
    • 스레드 : 프로세스 안의 실행 단위
      • 프로세스 안에서 메모리와 CPU를 공유해서 사용한다
  • CPU 스케쥴러
    • ready queue에 있는 프로세스에 대해 CPU 할당 받는 방법
    • 비선점 스케쥴링 (순서를 뺏지 않음)
      • FCFS(Fisrst Come First Served) : 순서대로 처리
      • SJF(Shortest Job First) : 버스트 시간이 짧은 프로세스 부터 CPU 할당
    • 선점 스케쥴링 (순서를 뺏음)
      • SRT(Shortest Remaining Time) : 진행 중인 프로세스가 있어도, 최단 잔여시간 프로세스를 위해 sleep 시키고 짧은프로세스 먼저 할당
      • RR(Round Robin) : 모든 프로세스가 같은 우선순위, time slice 기반으로 스케쥴링
    • 우선순위 스케쥴링
      • 우선순위가 높은 프로세스에 CPU를 할당하는 스케쥴링 방식
  • 가상 메모리
    • 사용하는 부분만 메모리에 올리고, 나머지는 디스크에 보관
 💡 모든 프로세스에게 메모리를 할당해주기에는 메모리의 크기가 유한하기 때문에 사용하는 방법으로, 사용하는 부분만 올리고 나머지는 디스크에 보관하는 방법을 가상 메모리 기법이라고 합니다
  • 데드락
    • 프로세스가 자원을 얻지 못해 다음 작업을 못하는 상태
    • 발생조건
      1. 상호 배제(mutual exclusion) : 자원은 한번에 한 프로세스만 사용
      2. 점유 대기(hold and wait) : 최소 하나의 자원을 점유하고 있으며 추가 점유를 위해 대기하는 프로세스가 있어야함
      3. 비선점(no preemption) : 할당된 자원을 사용이 끝나기 전까지는 뺏지못함
      4. 순환 대기(Circular wait) : 순환하여 자원을 대기해야한다
반응형