OS 면접 질문 중 하나인 '프로세스와 스레드의 차이'에 대해서 알아봅시다.
하나에 프로세스에는 여러 스레드가 있을 수 있다. 컴퓨터는 실행 과정에서 여러 프로세스가 동시에 실행될 수 있고, 그 프로세스를 이루는 스레드는 여러 개 있을 수 있다.
교착 상태가 발생할 조건에는 네 가지가 있다. 바로 상호 배제, 점유와 대기, 비선점, 원형 대기이다.
교착상태란? 프로로세스가 자원 얻지 못해 다음 처리를 하지 못하는 상태를 말한다. 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생하는 문제다.
모든 사용자들은 빠르고 동시에 용량이 큰 저장 장치를 원한다. 하지만 '빠른 저장 장치'와 '용량이 큰 저장 장치'는 양립하기 어렵다.
메모리 할당 알고리즘 First fit, Worst fit, Best fit
가상 메모리 기법을 구현하는 방식 중 하나인 요구 페이징 방식은 페이지 부재가 발생하게 된다. 페이지를 교체하는 작업은 오버헤드를 동반하므로 가능하면 페이지 교체가 적게 일어나도록 하는 것이 좋다.
외부 단편화와 내부 단편화에 대해 알아봅시다.
메모리 부족 문제를 해결하기 위해 만들어진 기법이 바로 가상 메모리 기법이다.
fork는 새로운 프로세스를 만들 때 기존 프로세스를 복제하는 방식을 사용한다.
페이징과 세그먼테이션 기법을 사용하는 이유는 다중 프로그래밍 시스템에서의 다수의 프로세스를 수용하기 위해 주기억장치를 동적으로 분할하는 메모리 관리 작업이 필요하기 때문이다
Context Switching, Context는 무엇인지 알아보자.
사용자 수준 스레드와 커널 수준 스레드를 알아보고, 그 차이를 알아보자.
뮤텍스 락과 세마포에 대해서 알아보자
Race Condition에 대해서 알아보자. 교착 상태, 상호 배제, 뮤텍스 락, 세마포어와 연관이 있다.
사용자(프로그램)가 운영체제에게 무언가를 요청하는 행위를 시스템콜이라고 한다.