본문 바로가기

면접 질문/운영체제6

[OS/운영체제] 페이징과 세그먼트 면접 질문 및 답변 정리 메모리 할당 방식에 대해 설명해주세요. 더보기 메모리 할당 방식은 페이징 기법과 세그먼트 기법이 있습니다. 프로세스를 일정한 단위로 분할한 것을 페이지, 메모리를 일정한 단위로 분할한 것을 프레임이라고 합니다. 페이지와 프레임이 동일한 단위로 분할한 것이 페이징 기법이고, 프로세스의 크기에 따라 메모리의 크기를 할당받는 것이 세그먼트 기법입니다. 페이지는 어떤 기준으로 분할되나요? 더보기 페이지는 고정된 크기, 혹은 가변적인 크기를 CPU가 결정하는 것으로 알고 있습니다. 세그먼트는 어떤 기준으로 분할되나요? 더보기 세그먼트는 프로세스 내 동일한 작업을 수행하는 데이터 혹은 코드를 기준으로 분할합니다. 일반적으로 메모리 내 코드, 데이터, 힙, 스택 영역을 기준으로 페이지가 분할되고, 페이지 크기에 맞게.. 2024. 2. 7.
[운영체제/OS] 메모리와 가상 메모리 면접 질문 및 답변 정리 메모리가 무엇인지 초등학생이 이해할 수 있는 수준으로 설명해주시겠어요? 더보기 우리가 공부를 할 때 책상 위에 책이 올려져있어야 하잖아? 그 책상을 메모리라고 생각하면 돼. 공부를 안 할 땐 책이 책장에 꽂혀 있어서 책을 볼 수 없는데, 책상 위에 있는 책들은 쉽게 펼칠 수 있고, 공부할 수 있는 것처럼 컴퓨터가 일을 할 때 작업하는 공간을 메모리라고 불러. 메모리에서 논리적 주소와 물리적 주소에 대해 설명해주세요. 더보기 메모리에서 논리적 주소는 프로세스 관점에서 필요한 주소 값이고, 물리적 주소는 실제 메모리의 주소 값을 의미합니다. CPU에서 작업이 이뤄질 때 논리적 주소를 물리적 주소로 변환하는 과정이 필요하며, 이것을 MMU가 처리합니다. 물리적 주소만 사용하는 것이 아닌, 논리적 주소와 함께 .. 2024. 2. 7.
[운영체제/OS] 데드락과 기아 상태 면접 질문 및 답변 정리 데드락에 대해 설명해 주세요. 더보기 데드락은 이미 자원을 할당 중인 여러 프로세스가 다른 프로세스가 점유 중인 자원을 필요로 해 서로의 작업이 끝나기를 기다리는 상태입니다. 데드락은 상호배제, 점유대기, 비선점, 순화대기라는 네 가지 조건을 모두 만족해야 발생합니다. 데드락의 발생 조건을 알고 계신가요? 더보기 네. 첫 번째로 상호배제, 상호배제는 하나의 프로세스만 공유 자원을 이용할 수 있도록 하는 것입니다. 두 번째로 점유대기, 점유 대기는 이미 다른 자원을 점유하고 있는 상태에서 다른 프로세스의 자원을 요구하는 것입니다. 셋째, 비선점은 다른 프로세스가 사용 중인 자원을 뺏어올 수 없다는 것이며, 마지막으로 순환 대기는 여러 프로세스의 자원 할당과 요구가 순환 구조를 띄고 있는 것입니다. 데드락 .. 2024. 2. 1.
[운영체제/OS] 동기화 문제 면접 질문 및 답변 동기화에 대해 설명해 주세요. 더보기 프로세스나 스레드가 자원을 공유하면서 작업하는데, 이때 어떤 자원에 대한 일관성을 보장해야 하는 것을 동기화라고 합니다. 하지만 어떤 프로세스가 먼저 실행되는가에 따라 결과가 달라지는 상황을 마주하는데, 이것을 동기화 문제라고 부릅니다. 동기화 문제를 해결하기 위한 방법을 알고 계신가요? 더보기 동기화 문제를 해결하기 위한 방법은 세 가지가 있습니다. 첫 번째 뮤텍스, 뮤텍스는 Boolean 자료형을 사용해 임계영역에 대한 lock을 걸고 해제하는 방법입니다. 프로세스가 임계영역에 대한 lock이 해제되었는지 계속해서 확인하는 busy waiting 문제가 발생하여 CPU가 낭비됩니다. 두 번째 세마포어, 세마포어는 Integer 자료형의 세마포어 변수를 이용해 여러.. 2024. 2. 1.
[운영체제/OS] 프로세스와 스레드 면접 질문 및 답변 프로세스란 무엇인가요? 더보기 프로세스를 설명하기 전, 프로그램은 디스크에 저장된 실행 파일을 의미합니다. 프로그램을 실행시키기 위해 메모리에 프로그램을 적재하고 CPU를 할당받아야 하는데, 이러한 실행 중인 프로그램을 프로세스라고 합니다. 스레드란 무엇인가요? 더보기 먼저 프로그램은 디스크에 저장된 실행 파일, 프로세스는 이러한 프로그램이 실행되고 있는 상태, 스레드는 프로그램이 동작할 수 있는 실행의 단위입니다. 프로그램이 동작할 때 컴퓨터가 이해할 수 있는 명령어로 해석되고, 이러한 명령어를 스레드라고 부릅니다. 프로세스와 스레드 차이점에 대해 설명해 주세요. 더보기 여러 개의 스레드를 구성해 프로세스가 됩니다. 먼저 프로세스가 생성이 되면 메모리에 각 프로세스마다 독립적인 영역이 할당됩니다. 하지.. 2024. 1. 22.
[운영체제/OS] 운영체제 및 커널 면접 질문 및 답변 운영체제가 무엇인가요? 더보기 사용자가 컴퓨터를 쉽고 편리하게 사용할 수 있도록 돕는 프로그램입니다. 사용자와 하드웨어 사이에 인터페이스를 제공하거나 컴퓨터가 자원을 효율적으로 사용할 수 있도록 지원합니다. 운영체제가 하는 일은 무엇인가요? 더보기 운영체제는 크게 유저 인터페이스와 커널로 구성되어 있습니다. 유저 인터페이스는 하드웨어가 동작할 수 있는 명령어를 실행하고 명령에 대한 결과를 사용자에게 보여주고, 커널은 프로세스 관리, 메모리 관리 등 컴퓨터 자원을 효율적으로 관리할 수 있는 일을 수행합니다. 커널이란 무엇인가요? 더보기 커널은 사용자가 컴퓨터를 사용할 때 좀 더 편리하고 효율적으로 사용할 수 있도록 지원하는 시스템입니다. 커널이 필요한 이유를 설명해 주세요. 더보기 사용자나 프로그램이 직접.. 2024. 1. 22.