∞. 기술 면접/3. 운영체제 11

09. 기술면접 - 운영체제 - 교착상태의 개념과 조건

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 교착상태(데드락, Deadlock) 란 - 첫 번째 스레드는 두 번쨰 스레드가 들고 있는 객체의 락(lock)이 풀리기 기다리고 있고, 두 번째 스레드 역시 첫 번째 스레드가 들고있는 객체의 락(lock)이 풀리기를 기다리고 있는 상황을 일컷는다 - 모든 스레드가 락이 풀리기를 기다리고 있기 때문에, 무한 대기 상태에 빠지게 된다. 이런 스레드를 교착상태에 빠졌다고 한다 교착 상태가 되는 4가지 조건 - 상호배체 (mutual exclusion) - 한 번에 한 프로세스만 공유 자원을 사용할 수 있다 - 점유대기 (hold and wait) = 들고 기다리기 - 공유 자원에 대한 접근 권한을 갖고 있..

04. 기술면접 - 운영체제 - 동기와 비동기

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 읽기 전 이 개념은 OS 에서 뿐만 아니라 여러가지 분야에서도 많이 쓰인다 동기(Synchronous) 란 - '동기' 라고하면 다수의 개체들이 동일(일정)한 무언가를 가지는 것, 또는 무언가가 동일(일정)하게 되는 것 - 그 무언가는 상태가 될 수 있고 행위가 될 수 있고, 시간, 속도, 주기, 출현 등이 될 수 있다 - 여기서 말하는 '동기'는 두 개의 프로세스가 데이터를 주고 받을 때, 주고 받는 순서 (또는 시간) 가 일정하다는 것을 뜻한다 - 어떤 작업을 요청했을 때 그 작업이 종료될 때 까지 기다린 후 다음 작업을 수행한다 - 데이터를 주고 받는 '순서'가 중요할 때 사용된다 - 요청한 작..

03. 기술면접 - 운영체제 - 스케줄러 (Schedula)

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 스케줄러 - 스케줄링(Scheduling) 이란? - 시스템이 실행하고자 할 때 프로세서(CPU) 를 프로그램들에게 할당하는 과정 프로세스(Process)는 자신의 임무를 모두 수행하고 사라질 때 까지 많은 큐를 돌아다닌다 이 때 프로그램들은 제한된 프로세서(CPU)를 서로 사용하려고 한다 OS 는 이러한 프로세스(Process) 중 하나를 택하는 데, 바로 스케줄러(Schedula)가 이러한 역할을 담당한다 가장 자주 사용되는 스케줄러는 장기 스케줄러와 단기 스케줄러이다 (주로 일괄처리 시스템에 사용) 실행 준비가 완료된 프로세스(Process) 들은 준비큐(Ready Queue)에 놓인다 프로세스..

02. 운영체제 - 멀티 프로세스와 멀티 쓰레드

공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 멀티 프로세스 대신 멀티 스레드를 사용하는 이유 프로그램을 여러 개 키는 것(멀티 프로세스) 보다 하나의 프로그램 안에서 여러 작업(멀티 스레드)을 해결하는 것이다 1. 자원의 효율성 증대 - 멀티 프로세스로 실행되는 작업을 멀티 스레드로 실행할 경우, 프로세스를 생성하여 자원을 할당하는 시스템 콜이 줄어들어 자원을 효율적으로 관리 할 수 있다 시스템 콜 운영체제에서 프로그램이 구동되는데 있어 파일을 읽어 오거나, 파일을 쓰거나, 혹은 화면에 메시지를 출력하는 등 (Data, Stack, Heap 등 포함) 많으 부분이 커널 모드를 사용한다. 시스템 콜은 이러한 커널 영역의 기능을 사용자 모드가 사용..