본문 바로가기
기술면접

[신입 개발자 기술면접 질문] 운영체제

by 배준오 2024. 1. 6.
반응형

운영체제에 대해서 설명해보세요

OS는 시스템의 자원과 동작을 관리하는 소프트웨어 입니다. 프로세스, 저장장치, 네트워킹, 사용자, 하드웨어를 관리하게 됩니다.

 

운영체제 메모리 구조에 대해서 설명해보세요

메모리 구조는 크게 4영역으로 구분되며 Code, Data, Heap, Stack이 있습니다. Code영역에는 소스코드가 들어가는 부분이고, Data에는 전역변수나 정적변수들이 할당됩니다. Heap에는 사용자가 관리하는 영역이고 데이터들이 동적으로 할당되는 영역입니다. 마지막으로 Stack에는 함수정보 지역변수, 매개변수, 리턴정보들이 할당됩니다.

 

프로세스와 스레드에 대해서 설명해보세요

프로세스는 실행중인 프로그램이고, CPU와 메모리를 할당 받아서 사용됩니다. 스레드는 프로세스 내부에서 실행되는 흐름의 단위고 같은 프로세스 안에 있는 스레드끼리는 CPU와 메모리를 공유해서 사용됩니다. (ex) 유튜브가 실행 중 -> 프로세스가 실행 중, 유튜브에서 재생버튼과, 좋아요 버튼은 독립된 함수에 의해 호출되기 때문에 스레드의 영역임)

 

CPU 스케줄링에 대해서 설명해보세요

Ready Queue에있는 프로세스에게 CPU를 할당하는 방식입니다. 크게 5가지 종류가있고 비선점형 스케줄링, SJF, SRT, Priority 스케쥴링, 라운드로빈이 있습니다.

 

가상메모리에 대해서 설명해보세요

모든 프로세스에게 메모리를 할당하기에는 한계가 있어서 사용하는 것이 가상메모리입니다. 프로세스를 메모리에 올릴 때 사용하는 부분만 메모리에 올리고 사용하지 않는 부분은 디스크에 보관합니다.

 

데드락에 대해서 설명해보세요

데드락은 프로세스가 자원을 얻지 못해 다음 작업을 수행할 수 없는 상태입니다. 예를들어 P1은 A를 점유하고, P2는 B를 점유하고 있는 상태에서 서로의 자원을 대기하고있으면 데드락이 발생하게 됩니다. 이러한 데드락의 발생조건은 4가지이며 상호배제, 점유대기, 비선점, 순환대기입니다. 이 4가지 조건이 동시에 성립해야만 데드락이 발생하게 됩니다. 

반응형