앗! 광고가 차단되었어요!

글 내용이 방문자께 도움이 되었다면, 광고 차단 프로그램 해제를 고려해주세요 😀.

전공 정리/CSE Review

4. 운영체제 [기출, 핵심, 응용]

this-gpa 2020. 11. 12. 10:32

 

운영체제 역시 매우 중요한 과목으로, 크게 CPU (프로세스), 메모리 (가상 메모리), 디스크 (파일 시스템) 파트로 나뉜다.

기출에 의하면 프로세스와 메모리 중심으로 면접이 이루어지는 것으로 보인다.

 

* 참고 교재: Operating System Concepts, 8th Edition (A. Silberschatz)

 

[기출편]

Q. 프로세스와 스레드의 차이는 무엇인가? 스레드의 장단점은 무엇인가? 메모리 면에서 스레드는 어떤 점이 좋은지 프로세스의 문맥 교환 cost와 함께 설명하라.

기출+: Thread와 process의 차이는 무엇인가?

기출+: Thread와 Process의 차이는? Thread끼리 context switching 하는 과정에 대해 설명하시오. 같은 프로세스 내부의 thread들끼리 전환되는 것과 다른 프로세스간의 thread까리 전환되는 것이 어떻게 다른가?

 

Q. IPC는 무엇인가? 시그널, 파이프, 공유메모리에 대해서 간단히 설명하라.

기출+: IPC가 무엇인가?

 

Q. Critical section, Deadlock에 대해 설명해보라.

기출+: Critical section이란?

 

Q. mutex, semaphore에 대해 간단히 설명하라. pseudo 알고리즘을 말해보라.

기출+: 세마포어의 개념은? 주요 연산 2가지는? 어떻게 구현해야 하는가?

 

Q. 프로세서에서 메모리를 관리하는 유닛은 무엇인가?

기출+: Logical address를 physical address로 바꾸어주는 hw가 무엇인가?

기출+: 프로세스는 가상 메모리 주소로 어떻게 실제 메모리 주소를 찾아가나?

 

Q. paging, segmentation을 단편화와 관련하여 설명하라.

기출+: Paging이 무엇인가? paging을 할 때 어떻게 실제 메모리 주소에 데이터를 전송하는가? page table에는 어떤 항목이 저장되는가? page table은 어디에 저장되는가? page table이 메모리에 저장되면, paging을 할 때 메모리를 두 번 참조해야 되는데, 좀 더 빠르게 하는 방법은 없는가? TLB에는 어떤 항목이 저장되는가?

 

Q. 페이지 교체 알고리즘에는 Optimal, FIFO, LRU가 있다. 각 알고리즘에 대해 설명하라. LRU Approximation의 필요성을 말해보라.

기출+: Virtual memory에서 page replacement policy에는 어떤 것이 있는가? LRU의 단점은?

 

Q. Preemptive와 Non-preemptive의 차이를 설명하라.

기출+: Non-preemptive scheduling이란?

 

KQ. Interrupt란 무엇인가? Interrupt를 두 종류로 나눈다면? 두 Interrupt의 차이는 무엇인가?

 

KQ. Logical address와 Physical address의 차이는 무엇인가?

 

KQ. OS의 캐시 메모리의 사이즈를 구하기 위한 프로그램은 어떻게 구현할 수 있는가?

KQ. Paging 기법의 장단점들로는 무엇이 있는가? Hierarchical paging, Inverted page table에 대해 설명하라.

 

[핵심편]

Q. 프로세스가 IO 작업으로 대기할 때는 어떤 프로세스 상태(process state)를 가지는가? 작업이 완료된 후에는 어떤 프로세스 상태를 가지는가?

 

Q. DMA Controller, IO Controller을 사용하는 이유는 무엇인가?

 

Q. 고아 프로세스와 좀비 프로세스가 무엇인지 설명하라.

 

Q. 리눅스에서의 PCB는 어떤 자료구조인가? TCB는 어떤 정보를 가지는가?

 

Q. 요구페이징과 페이지 교체에 대해 간단히 설명하라.

 

Q. 페이지 폴트가 처리되는 과정을 간단히 설명하라.

 

Q. 페이지 프레임이 3개일 때, 페이지 참조 순서가 다음과 같다면, 페이지 폴트는 몇 번 발생하는가? Optimal, FIFO, LRU 모든 경우에서 설명하라.

1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6

 

Q. copy-on-write 기법에 대해 설명하라.

 

Q. 작업 집합이 무엇인지 설명하고, Thrashing에 대해서 발생하는 이유와 함께 설명하라.

 

Q. 파일의 구성요소는 무엇인가?

 

Q. file table, fd table에 대해 설명하라.

 

Q. 파티션에 존재하는 블록, 배열에는 어떤 것이 있는가?

 

Q. 디렉터리 파일의 데이터 블록에는 무엇이 존재하는가?

 

Q. 심볼릭 링크와 하드 링크의 차이는 무엇인가?

 

Q. (하드)디스크 스케줄링에서 FCFS, SSTF, SCAN, LOOK (C-SCAN, C-LOOK) 알고리즘을 간단히 설명하라.

 

Q. 200개의 실린더 (0-199) 를 가진 디스크 드라이브가 있다. 현재 디스크 헤드는 14에 속한 요청을 처리중이며, 그 전에 12번을 처리했다. 다음 요청들이 순서대로 도착되어 있다고 했을 때, SSTF, SCAN, C-LOOK 방법으로 요청 처리 순서를 정하시오.

8, 147, 91, 177, 94, 150, 102, 175, 13

 

Q. Work-conserving과 Non-work-conserving의 차이를 설명하라.

 

Q. FCFS, SJF, RR, SRTF, Priority 스케줄링에 대해 간단히 설명하라.

 

Q. Multilevel queue, Multilevel feedback queue 스케줄링에 대해 간단히 설명하라.

 

Q. Processor affinity와 Load balancing에 대해 간단히 설명하라.

 


다음은 시스템 프로그래밍(링커)와 관련된 질문이다:

 

Q. 링커를 쓰는 이유, 역할에 대해 설명하라.

 

Q. Compiler Drivers에 대해 설명하라.

 

Q. 오브젝트 파일의 종류에는 무엇이 있는가?

 

Q. ELF 형식에 대해서 간단히 설명하라. 어떻게 (가상)메모리에 매핑되는가?

 

Q. 심볼의 (정의 위치에 따른) 종류에는 무엇이 있는가?

 

Q. strong symbol과 weak symbol에 대해 설명하라.

 

Q. static linking, dynamic linking에 대해 설명하라.


[응용편]

Q. 프로세스, 스레드를 생성, 종료, 종료를 기다리는 system call을 말해보라.

 

Q. 스레드에서 system call을 호출해도 문제가 없는가? 스택과 관련하여 설명하라.

 

Q. 스레드에서 fork, exec을 호출할 경우 어떻게 되는가?

 

Q. 스레드 취소(cancel)를 요청하면 해당(타겟) 스레드는 바로 종료되는가?

 

Q. 4GB 가상메모리, 4KB 페이지를 가정하자. 그러면 페이지 테이블 엔트리의 개수는 몇 개인가? 페이지 테이블의 크기는 몇인가?

 

Q. 페이지 테이블의 연속적인 할당을 방지하기 위해 어떤 기법을 쓸 수 있는가? 이 기법에서 page directory, page subtable 의 구조는 어떻게 생겼으며, 주소를 translate할 때 (32bit에서) 주소의 각 bit 구간은 어디서 어떻게 사용되는가?

 

Q. slab allocator, power-of-2 allocator, segregated list, buddy allocator에 대해 설명하라.

 

Q. 파일 시스템을 사용하면서 어떤 정보를 캐싱할 수 있는가? 캐시 입출력과 직접 입출력을 설명하고, 성능을 비교하라.

 

Q. 주메모리 기반 파일 시스템으로는 무엇이 있는가?

 

Q. 저장장치 하드웨어의 구조를 설명하라.

 

Q. 하드디스크의 구조를 설명하라. 하드디스크 접근 시간을 설명하라.

 

Q. 플래시 메모리의 구조를 설명하라. 플래시 메모리의 overwrite 방법을 저널링과 함께 설명하라.

 

Q. RM과 EDF의 차이를 설명해보라.

 

Q. 멀티코어에서의 single global queue, multiple local queue의 차이를 설명하라.

 

Q. CFS 스케줄러의 특성에 대해 간단히 설명하라.