[CS 면접 질문] OS - 운영체제 관련 질문 리스트
·
면접 준비/OS
아래 질문들에 개념들은 링크에서 확인할 수 있습니다.2024.12.12 - [면접 준비/OS] - [CS 면접 질문 / OS]프로세스와 스레드2024.12.12 - [면접 준비/OS] - [CS 면접 질문/ OS] 멀티 프로세스와 멀티, IPC, Pipe, Siganl 개념2024.12.12 - [면접 준비/OS] - [CS 면접 질문/ OS] 동기화와 교착 상태2024.12.19 - [면접 준비/OS] - [CS 면접 질문 / OS] 가상 메모리, 페이징, 내부 단편화, 외부 단편화, 페이지 교체 알고리즘  해당 내용들은 이것이 취업을 위한 컴퓨터 과학이다 내용을 기반으로 정리하였습니다.면접 질문1. 공유 메모리 기반 IPC가 소켓 통신보다 빠른이뉴는?공유 메모리는 동일한 메모리 공간에서 직접 접근하여..
[CS 면접 질문 / OS] 가상 메모리, 페이징, 내부 단편화, 외부 단편화, 페이지 교체 알고리즘
·
면접 준비/OS
가상 메모리실제 CPU 내부의 저장공간이 메모리만큼 커야 들어갈 수 있으나, 실제로는 더 작은 용량을 갖고 있다.새로운 프로세스는 새롭게 메모리에 적재되고, 사용되지 않는 프로세스는 메모리에서 삭제된다.CPU가 실시간으로 바뀌는 정보를 어떻게 관리하는지 논리 주소, 가상 메모리, 페이징에 대해 알아보겠다.물리 주소와 논리 주소CPU와 프로세스는 메모리의 하드웨어의 실제 주소인 물리 주소(physical address)가 아닌 논리 주소(logicla address)를 사용한다.논리 주소는 프로세스마다 부여되는 0번의 주소부터 시작하는 주소 시스템을 말한다.CPU와 프로세스가 사용하는 주소 체계는 물리 주소가 아니라 논리 주소이기 때문에 중복되는 물리 주소의 번지수는 존재하지 않지만, 중복되는 논리 주소의..
[CS 면접 질문/ OS] 동기화와 교착 상태
·
면접 준비/OS
공유 자원메모리나 파일 등의 자원 또는 전역 변수, 입출력장치를 두고 동시에 여러 개의 프로세스 또는 여러 개의 스레드가 실행된다면 일관성의 문제, 레이스 컨디션 문제가 발생할 수 있다.공유자원에 접근하는 코드 중 동시에 실행됐을 때 문제가 발생할 수 있는 영역을 임계 구역(critical section)이라고 한다. 레이스 컨디션위처럼 동시 다발적으로 실행되는 동안에는 언제나 임계 구역을 동시에 실행하지 않도록 유의해야 한다. 그렇지 않으면 데이터의 일관성이 손상이 되며 이를 레이스 컨디션상황 이라고 한다.이러한 레이스 컨디션을 제어하기 위해서 동기화의 개념이 필요하다.동기화(synchronized)실행 순서의 제어를 통해 프로세스 및 스레드를 올바른 순서로 실행해야 하며, 동시에 접근해서는 안되는 자..
[CS 면접 질문/ OS] 멀티 프로세스와 멀티, IPC, Pipe, Siganl 개념
·
면접 준비/OS
웹 브라우저웹 브라우저는 일반적으로 하나의 탭마다 하나의 프로세스로 동작한다.유저들이 자주 쓰는 크롬 부라우저에서 열고 있는 하나의 탭들이 하나하나의 프로세스이며 동시에 여러 프로세스가 수행되고 있다면 멀티 프로세스라고 부른다.멀티 프로세서기본적으로 자원을 공유하지 않고, 독립적으로 수행된다. 같은 작업을 수행하고 있지만 PID값이 다르고, 프로세스 별로 파일과 입출력 장치 등의 자원이 독립적으로 할당되어 다른 프로세스에 영향을 끼치지 않는다.멀티 스레드하나의 프로세스 안에서 동시에 같은 코드를 여러 번 실행시킬 수 있는 방법이다. 하나의 스레드는 스레드를 식별할 수 있는 ID값, 프로그램 카운터, 레지스터 값, 스택 등으로 구성되어 있다.스레드마다 각각의 프로그램 카운터 값과 스택을 갖고 있기 때문에 ..
[CS 면접 질문 / OS]프로세스와 스레드
·
면접 준비/OS
프로세스와 스레드프로세스에는 사용자가 보는 공간에서 사용자와 상호작용하며 실행되는 포그라운드 프로세스 가 있고, 사용자가 눈에는 보이지 않지만 뒤에서 조용히 수행되는 백그라운드 프로세스가 있다.백그라운드 프로세스 중에는 데몬이라는 프로세스가 존재하는데 우리가 흔히 아는 서비스를 말한다.이 두가지 프로세스 유형은 동일한 구조를 갖고 있다.이 부분은 자바와 JVM을 공부하면서 들어봤을 만한 내용일 것이다. 코드 영역실행 가능한 명령어가 저장되는 공간텍스트 영역이라고도 부른다.CPU가 읽고 실행할 명령어가 담겨 있기 때문에 쓰기가 금지되어 있는 읽기 전용 공간데이터 영역프로그램이 실행되는 동안 유지할 데이터가 저장되는 공간데이터 영역에 저장되는 데이터는 정적 변수 또는 전역 변수가 대표적이다.BSS 영역BSS..
[CS지식/ OS] 커널과 시스템 콜
·
면접 준비/OS
시스템도 일종의 프로그램이다.운영체제도 하나의 프로그램이기 때문에 프로그램이 실행되기 위해서는 반드시 메모리에 적재되어야 한다.운영체제는 매우 특별한 프로그램이므로 메모리 내의 커널 영역이라는 공간에 따로 적재되어 실행된다.반대로 사용자 응용 프로그램은 사용자 영역이라는 공간에 적재된다.운영체제의 기능을 사용하기 위해서는 커널 영역에 적제된 운영체제 코드를 실행해야 한다.시스템 콜운영체제의 서비스를 제공받기 위한 수단(인터페이스)호출 가능한 함수의 형태웹 브라우저, 게임과 같은 응용 프로그램들은 CPU, 메모리에 직접 접근할 수 없다.특정 자원에 접근하거나 조작하는 운영체제 코드를 실행해야 한다.운영체제가 자신의 코드를 실행한 응용 프로그램의 자원 접근 및 조작을 대신한다.말로는 어려우니 이미지를 통해 ..