코딩 도구/CS 면접 도구(19)
-
CS 공부 & 면접 맛보기 0x13 [운영체제] : UNIX 메모리 구조 설명
질문UNIX 메모리 구조에 대해서 설명하시오.면접 답변UNIX 시스템에서 메모리 구조는 Code, Data, BSS, Heap, Stack의 5개 영역으로 구성됩니다. 각 영역은 프로그램의 실행과 메모리 관리에 중요한 역할을 합니다.메모리 구조 구성 요소1. Code (코드 영역)정의: 실행 가능한 기계어 코드가 저장되는 메모리 영역.특징: 읽기 전용, 프로그램이 실행되는 동안 수정 불가능.2. Data (데이터 영역)정의: 전역 변수와 static 변수 중 초기화된 변수가 저장되는 메모리 영역.특징: 프로그램 시작 시 할당, 종료 시 해제.3. BSS (Block Started by Symbol)정의: 전역 변수와 static 변수 중 초기화되지 않은 변수가 저장되는 영역.특징: 실행 시 0으로 초기화..
2025.01.29 -
CS 공부 & 면접 맛보기 0x12 [운영체제] : 페이지 교체 알고리즘의 종류 설명
질문페이지 교체 알고리즘이란 무엇인가요?면접 답변페이지 교체 알고리즘(Page Replacement Algorithm)은 메모리 부족 상황에서 페이지를 메모리에 적재할 때, 기존 페이지 중 어떤 것을 제거할지 결정하는 알고리즘입니다. 페이지 교체 알고리즘의 종류1. FIFO (First-In-First-Out)가장 먼저 들어온 페이지를 먼저 제거하는 방식.장점: 구현이 단순하고 직관적.단점: 오래된 페이지가 꼭 불필요한 페이지라는 보장이 없음.2. OPT (Optimal Page Replacement)앞으로 가장 오래 사용되지 않을 페이지를 제거하는 방식.장점: 페이지 부재(Fault)를 최소화함.단점: 미래의 메모리 접근을 예측할 수 없으므로 이론적 알고리즘에 불과함.3. LRU (Least Recen..
2025.01.27 -
CS 공부 & 면접 맛보기 0x11 [운영체제] : 페이징이란
질문페이징(Paging)이란 무엇인가요?면접 답변페이징(Paging)은 하나의 프로세스가 사용하는 메모리 공간이 연속적이어야 한다는 제약을 없애는 메모리 관리 기법입니다. 도입 이유: 외부 단편화와 압축 작업을 해소하기 위해 고안되었습니다. 동작 방식: 물리 메모리는 프레임(Frame)이라는 고정 크기의 블록으로 나뉩니다. 논리 메모리(프로세스 메모리)는 페이지(Page)라는 고정 크기의 블록으로 나뉩니다. 장점:논리 메모리는 물리 메모리에 연속적으로 저장될 필요가 없음.외부 단편화(External Fragmentation) 해결 가능.남는 프레임에 페이지를 효율적으로 배치.단점:내부 단편화(Internal Fragmentation) 문제 해결 불가.예시: 페이지 크기가 4K..
2025.01.24 -
CS 공부 & 면접 맛보기 0x10 [운영체제] : Process 상태 변화 과정
질문프로세스의 상태 변화 과정은 어떻게 이루어지나요?면접 답변프로세스의 상태 변화는 Submit → Hold → Ready → Run → Wait/Exit의 순서로 진행됩니다. 각 상태는 프로세스의 실행 흐름과 자원 할당 상황을 반영합니다. 1. Submit (제출)사용자가 작업을 시스템에 제출한 상태입니다.아직 메모리에 적재되지 않은 상태이며, 작업 대기열에 들어가 있습니다. 2. Hold (대기)제출된 작업이 스풀 공간(디스크의 할당 위치)에 저장된 상태입니다.Spooling(스풀링)느린 입출력 장치의 속도를 보완하기 위해 사용되는 기법입니다.입출력 데이터를 직접 장치에 전송하지 않고 디스크에 임시 저장한 뒤, 한 번에 처리합니다. 3. Ready (준비)프로세스가 CPU를 할당받기 위해 대기 중인 ..
2025.01.22 -
CS 공부 & 면접 맛보기 0x0F [운영체제] : 인터럽트와 트랩
인터럽트와 트랩질문인터럽트(Interrupt)와 트랩(Trap)의 차이점은 무엇인가요?면접 답변인터럽트(Interrupt)와 트랩(Trap)은 모두 CPU의 정상적인 명령어 흐름을 제어하는 메커니즘입니다. 그러나 발생 원인과 동작 방식에서 차이가 있습니다. 인터럽트(Interrupt): 외부 하드웨어 장치(키보드, 마우스, 타이머 등)에 의해 발생. 비동기적으로 발생하며, 현재 실행 중인 프로세스를 일시 중지하고 처리. 트랩(Trap): 소프트웨어에 의해 발생하는 예외 상황이나 시스템 호출로 발생. 동기적으로 발생하며, 예외 상황(예: 0으로 나누기) 처리 또는 OS 서비스 요청. 1. 인터럽트(Interrupt)란?정의: 인터럽트는 CPU가 프로그램 ..
2025.01.20 -
CS 공부 & 면접 맛보기 0x0E [운영체제] : 데드락(Deadlock)의 해결 방법
데드락(Deadlock)의 해결 방법질문데드락을 해결하는 방법은 무엇인가요?면접 답변데드락(Deadlock)은 교착상태 예방(Prevention), 회피(Avoidance), 발견(Detection), 회복(Recovery)의 네 가지 방법으로 해결할 수 있습니다. 1. 교착상태 예방(Prevention)교착상태 발생의 4가지 조건(비선점, 순환 대기, 점유 대기, 상호 배제) 중 하나를 제거하여 해결하는 방법입니다. 상호 배제(Mutual Exclusion) 부정: 여러 프로세스가 동시에 자원을 사용할 수 있도록 허용합니다. 단, 이 경우 동기화 문제가 발생할 수 있습니다. 점유 대기(Hold and Wait) 부정: 프로세스가 실행되기 전에 필요한 모든 자원을 할..
2025.01.17