본문 바로가기

면접 질문15

[운영체제/OS] 동기화 문제 면접 질문 및 답변 동기화에 대해 설명해 주세요. 더보기 프로세스나 스레드가 자원을 공유하면서 작업하는데, 이때 어떤 자원에 대한 일관성을 보장해야 하는 것을 동기화라고 합니다. 하지만 어떤 프로세스가 먼저 실행되는가에 따라 결과가 달라지는 상황을 마주하는데, 이것을 동기화 문제라고 부릅니다. 동기화 문제를 해결하기 위한 방법을 알고 계신가요? 더보기 동기화 문제를 해결하기 위한 방법은 세 가지가 있습니다. 첫 번째 뮤텍스, 뮤텍스는 Boolean 자료형을 사용해 임계영역에 대한 lock을 걸고 해제하는 방법입니다. 프로세스가 임계영역에 대한 lock이 해제되었는지 계속해서 확인하는 busy waiting 문제가 발생하여 CPU가 낭비됩니다. 두 번째 세마포어, 세마포어는 Integer 자료형의 세마포어 변수를 이용해 여러.. 2024. 2. 1.
[운영체제/OS] 프로세스와 스레드 면접 질문 및 답변 프로세스란 무엇인가요? 더보기 프로세스를 설명하기 전, 프로그램은 디스크에 저장된 실행 파일을 의미합니다. 프로그램을 실행시키기 위해 메모리에 프로그램을 적재하고 CPU를 할당받아야 하는데, 이러한 실행 중인 프로그램을 프로세스라고 합니다. 스레드란 무엇인가요? 더보기 먼저 프로그램은 디스크에 저장된 실행 파일, 프로세스는 이러한 프로그램이 실행되고 있는 상태, 스레드는 프로그램이 동작할 수 있는 실행의 단위입니다. 프로그램이 동작할 때 컴퓨터가 이해할 수 있는 명령어로 해석되고, 이러한 명령어를 스레드라고 부릅니다. 프로세스와 스레드 차이점에 대해 설명해 주세요. 더보기 여러 개의 스레드를 구성해 프로세스가 됩니다. 먼저 프로세스가 생성이 되면 메모리에 각 프로세스마다 독립적인 영역이 할당됩니다. 하지.. 2024. 1. 22.
[운영체제/OS] 운영체제 및 커널 면접 질문 및 답변 운영체제가 무엇인가요? 더보기 사용자가 컴퓨터를 쉽고 편리하게 사용할 수 있도록 돕는 프로그램입니다. 사용자와 하드웨어 사이에 인터페이스를 제공하거나 컴퓨터가 자원을 효율적으로 사용할 수 있도록 지원합니다. 운영체제가 하는 일은 무엇인가요? 더보기 운영체제는 크게 유저 인터페이스와 커널로 구성되어 있습니다. 유저 인터페이스는 하드웨어가 동작할 수 있는 명령어를 실행하고 명령에 대한 결과를 사용자에게 보여주고, 커널은 프로세스 관리, 메모리 관리 등 컴퓨터 자원을 효율적으로 관리할 수 있는 일을 수행합니다. 커널이란 무엇인가요? 더보기 커널은 사용자가 컴퓨터를 사용할 때 좀 더 편리하고 효율적으로 사용할 수 있도록 지원하는 시스템입니다. 커널이 필요한 이유를 설명해 주세요. 더보기 사용자나 프로그램이 직접.. 2024. 1. 22.