1. 메모리 종류 • 레지스터(가장 빠름), 캐시(CPU-RAM 중간), RAM(실행 메모리), 가상 메모리(HDD/SSD 활용), 보조 저장 장치(영구 저장). 2. 운영체제 보호 레지스터 • 베이스 레지스터: 시작 주소 저장. • 한계 레지스터: 접근 가능한 최대 주소 설정. 3. 메모리 할당 방식 비교 • 가변 분할: 메모리 효율적 사용 but 외부 ...
운영체제 1. 메모리의 종류와 특징 1. 레지스터(Register) – CPU 내부에 위치, 가장 빠름, 용량 작음. 2. 캐시(Cache) – CPU와 RAM 사이에 위치, 자주 사용하는 데이터를 저장하여 속도 향상. 3. 메인 메모리(RAM) – 휘발성(전원 차단 시 데이터 삭제), 실행 중인 프로그램이 사용. 4. 가상 메모리(Virtual Memor...
운영체제 요약 FIFO 스케줄링의 장단점 • 장점: 구현이 간단하고 공정함. • 단점: 긴 작업이 먼저 오면 짧은 작업이 지연되는 Convoy Effect 발생. SJF를 사용하기 어려운 이유 • 실행 시간을 미리 알기 어려움. • 긴 작업이 계속 뒤로 밀려 기아 상태(Starvation) 발생 가능. RR에서 타임 슬라이스가 작을 때 문제 • 문맥 전환 ...
자료구조와 알고리즘 1. 재귀함수에서 기저 조건을 만들지 않거나 잘못 설정했을 때 발생하는 문제 • 무한 루프(무한 재귀) 발생 → 스택이 계속 쌓이며 Stack Overflow(스택 오버플로우) 발생 • 잘못된 결과 반환 → 기저 조건을 잘못 설정하면 원하는 값을 반환하지 못함 2. 0부터 입력 n까지 홀수의 합을 구하는 재귀 함수 function sum...
운영체제 1. FIFO 스케줄링의 장단점 장점: • 구현이 간단하고 직관적이다. • 공정한 스케줄링 방식으로, 먼저 도착한 프로세스가 먼저 실행된다. 단점: • Convoy Effect(호위 효과) 가 발생할 수 있다. → 실행 시간이 긴 프로세스가 먼저 도착하면 짧은 프로세스들이 오래 대기해야 한다. • 응답 시간이 일정하지 않아 실시간 시스템에 부적합하...
1. 프로세스와 쓰레드 프로세스 (Process) • 실행 중인 프로그램으로, 독립적인 메모리 공간(Code, Data, Heap, Stack)을 가짐. • 운영체제(OS)에서 하나의 작업 단위로 취급. • 프로세스 간 자원 공유가 어렵고, 문맥 교환(Context Switching) 비용이 큼. 쓰레드 (Thread) • 프로세스 내에서 실행되는 작업 단...
운영체제 1. 폴링 방식을 대체할 수 있는 방법은? 폴링 방식은 CPU를 불필요하게 사용하므로 이벤트 기반 방식 또는 인터럽트 방식으로 개선할 수 있습니다. • 이벤트 기반 방식: 특정 이벤트가 발생할 때만 실행되도록 설정 (예: 버튼 클릭 이벤트) • 인터럽트 방식: CPU가 특정 조건이 발생했을 때만 중단하고 처리 (예: 하드웨어 인터럽트, 소프트웨어 ...
자료구조와 알고리즘 1. 학생 정보를 저장할 자료구조 선택 • 해시맵(HashMap) 또는 딕셔너리(Dictionary) • 이유: 학생 정보를 (학번 → 객체) 형태로 저장하고 빠르게 검색할 수 있음 • 예제: let studentRecords = new Map(); studentRecords.set(2023001, { name: "홍길동", age: 2...