본문 바로가기
OS

운영체제 주요 개념 키워드(공룡책 챕터 기준으로 구조화)

by Ellery 2020. 11. 16.

정리방식: 주요질문에 대한 리스트업을 하고, 내가 이 개념에 대해서 말로 설명할 수 있고, 화이트보드에 구조를 직접 그려가면서 설명할 수 있다면 어느 부분의 챕터인지 정리해나간다. 

어떤 것이 핵심 키워드인지는 코세라 운영체제 강의, 공룡책, 그리고 타 개발자들이 경험한 면접 질문들의 키워드를 추가해나가면서 정리하고 있다.

 

PARTⅠ개관
CHAPTER 1 서론

 - 운영체제의 역활

 

CHAPTER 2 시스템 구조

PARTⅡ 프로세스 관리

CHAPTER 3 프로세스
CHAPTER 4 스레드
CHAPTER 5 CPU 스케줄링
CHAPTER 6 프로세스 동기화
CHAPTER 7 교착상태

PARTⅢ 메모리 관리

CHAPTER 8 메모리 관리 전략
CHAPTER 9 가상 메모리

PARTⅣ 저장장치 관리

CHAPTER 10 파일 시스템
CHAPTER 11 파일 시스템 구현
CHAPTER 12 대용량 저장장치 구조
CHAPTER 13 입출력 시스템

PARTⅤ 보호와 보안

CHAPTER 14 시스템 보호
CHAPTER 15 시스템 보안

PARTⅥ 사례 연구

CHAPTER 16 Linux 시스템
CHAPTER 17 윈도우즈 7
CHAPTER 18 영향력 있는 운영체계

 

- 주요 개념 키워드. 당신은 이걸 말로 풀어 설명할 수 있는가? 칠판에 그 구조를 간략하게 그려서 설명할 수 있는가?

  • 프로세스와 스레드의 차이(Process vs Thread)
  • 멀티 프로세스 대신 멀티 스레드를 사용하는 이유
  • Thread-safe
  • 동기화 객체의 종류
  • 뮤텍스와 세마포어의 차이

  • 스케줄링
    ref: https://en.wikipedia.org/wiki/Scheduling_(computing)
    메모리에 올려져서 실행중인 프로그램인 프로세스의 진행을 관리하는 주체입니다. 
    ready queue에 올려져있는 프로세스를 CPU에 할당받게 해주는 역활을 합니다. 

  • 동기와 비동기
  • 프로세스 동기화
  • 메모리 관리 전략
  • 가상 메모리
  • 캐시의 지역성
  • 교착상태(데드락, Deadlock)의 개념과 조건
  • 사용자 수준 스레드와 커널 수준 스레드
  • 외부 단편화와 내부 단편화
  • Context Switching
  • Swapping
  • 교착 상태(데드락)의 4가지 조건
  • 메모리 계층
  • 메모리 할당 알고리즘
  • 페이징, 세그먼테이션
  • context switching
  • 사용자 수준의 스레드와 커널 수준의 스레드의 차이
  • synchronized
  • explain the main purpose of an operating systems?
  • what is demand paging?
  • what are the advantages of a multiprocessor system?
  • what is kernel?
  • what are real-time systems?
  • what is a virtual memory?
  • describe the objective of multiprogramming
  • what is time-sharing system?
  • what is SMP?
  • how are server systems classified?
  • what is asymmetric clustering?
  • what is a thread?
  • give some benefits of multithreaded programming.
  • briefly explain FCFS.
  • what is RR scheduling algorithm?
  • what are necessary conditions which can lead to a deadlock situation in a system?
  • enumerate the different RAID levels.
  • describe Banker's algorithm.
  • what factors determine whether a detection-algorithm must be utilized in a deadlock avoidance system?
  • state the main difference between logical from phyical adress space.
  • how does dynamic loading aid in better memory space utilization?
  • what are overlays?
  • what is the basic function of paging?
  • what is fragmentation?
  • how does swapping result in better memory management?
  • give an example of a process state.
  • what is a socket?
  • when does thrashing occur?
  • what is the best page size when designing an operating system?
  • when designing the file structure for an operating system, what attribute are considered?
  • what is root partition?
  • what are device drivers?
  • what are the primary function of VFS?
  • what are the difference types of CPU registers in a typical operation system design?
  • what is multitasking?
  • explain pros and cons of a command line interface?
  • what is caching?
  • what is spooling?
  • what is an assembler?
  • what are interrupts?
  • what is GUI?
  • what is preemptive multitasking?
  • why partitioning and formatting is a prerequisite to installing an operating system?
  • what is plumbing/piping?
  • what is NOS?
  • DIfferentiate internal commands from external commands.
  • Under DOS, what command will you type when you want to list down the files in a directory, and at the same time pause after every screen output?
    a) dir /w  b) dir /p  c) dir /s  d) dir /w /p
  • how would a file name EXAMPLEFILE.TXT appear when viewed under the DOS command console operating in Wndows 98?
  • what is foler in Ubuntu?
  • explain why Ubuntu is safe and not affected by viruses?
  • explain what is Unity in Ubuntu? how can you add new entries to the launcher?
  • explain the purpose of using a libaio package in Ubuntu?
  • what is the use of behavior tab in Ubuntu?
  • what is the meaning of "export" command in Ubuntu?
  • Explain how you can reset Unity Configuration?
  • explain how to access Terminal?

ref.

1. https://career.guru99.com/top-50-operating-system-interview-questions/

 

Top 50 Operating System Interview Questions & Answers

1) Explain the main purpose of an operating system? Operating systems exist for two main purposes. One is that it is designed to make sure a computer system performs well by managing its computational activities. Another is that it provides an environment

career.guru99.com

2. https://www.javatpoint.com/operating-system-interview-questions

 

Top 39 Operating System Interview Questions - javatpoint

Operating System Interview Questions for beginners and professionals with a list of top frequently asked Operating System or OS interview questions and answers with java, .net, php, database, hr, spring, hibernate, android, oracle, sql, asp.net, c#, python

www.javatpoint.com

3. https://www.wisdomjobs.com/e-university/operating-system-interview-questions.html

 

TOP 250+ Operating System Interview Questions and Answers 01 February 2020 - Operating System Interview Questions | Wisdom Jobs

250+ Operating System Interview Questions and Answers, Question1: Explain the main purpose of an operating system? Question2: What is demand paging? Question3: What are the advantages of a multiprocessor system? Question4: What is kernel? Question5: What a

www.wisdomjobs.com

4. https://gmlwjd9405.github.io/2017/10/01/basic-concepts-of-development-os.html

 

[기술 면접 질문] 기술 면접 예상 질문 대비하기 - 운영체제(OS)편 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

아무래도 해외 영문 사이트 질문이 좀 더 완결된 문장으로 되어있고, 답변 또한 잘 정리 되어 있는 것 같다.

이 글을 보는 개발자 인터뷰 준비자들은 가고싶은 특정 국내회사의 질문리스트를 보는게 아니라면, 해외 개발사이트에서 레퍼런스를 얻는 것을 개인적으로 추천한다. (검색 키워드: operating system interview question, os interview 등...)

압도적으로 정보량이 많고 영문으로 사용되는 용어들에 익숙해질 수 있다.

ex) RR scheduling -> Round robin scheduling