본문 바로가기

분류 전체보기376

운영체제 #12 입출력 하드웨어 기본 구성버스(Bus): CPU, 메모리, 장치 컨트롤러를 연결하는 전송 통로. (주소 버스, 데이터 버스, 제어 버스로 나뉨)장치 컨트롤러(Device Controller): 각 장치에 특화된 제어 로직을 담당. CPU와 장치 사이의 인터페이스 역할.장치(Device): 실제 물리적인 입출력 장치(디스크, 프린터, 키보드 등).자료 이동 방식프로그램된 I/O (Programmed I/O, PIO)CPU가 직접 메모리와 장치 사이의 데이터 전송을 제어.CPU가 장치 레지스터를 반복적으로 확인(Polling)해야 하므로 CPU 낭비 큼.DMA (Direct Memory Access)DMA 컨트롤러가 장치와 메모리 사이의 데이터를 직접 전송.CPU는 전송 시작 지시만 하고, 완료 시 인터럽트.. 2025. 9. 7.
운영체제 #11 하드 디스크 드라이브(HDD)와 비휘발성 메모리 장치(SSD 등)는 대부분의 컴퓨터에서 주요 보조저장장치(I/O 장치)로 사용된다. 최신 보조저장장치는 논리 블록의 1차원 배열로 구성되며, 컴퓨터 시스템에는 다음과 같은 방식으로 연결된다.호스트 컴퓨터의 로컬 I/O 포트마더보드에 직접 연결통신 네트워크 또는 스토리지 네트워크 보조저장장치에 대한 I/O 요청은 파일 시스템과 가상 메모리 시스템에서 발생하며, 각 요청은 참조할 장치의 논리 블록 번호로 지정된다. 디스크 스케줄링디스크 스케줄링 알고리즘은 HDD의 유효 대역폭, 평균 응답 시간, 응답 시간의 편차를 줄이기 위해 사용된다.대표적 알고리즘: SCAN, C-SCAN (엘리베이터 방식)HDD에서는 알고리즘에 따라 성능 차이가 크지만, 반도체 디스크(S.. 2025. 9. 7.
쌍둥이 태아 보험 후기 쌍둥이 21주차 예비 아빠이다. 아내가 임신 하자마자 나에게 내려준 숙제가 있었다.'보험은 너가 알아봐' 단태아일 경우 임신확인서만 있으면 가입이 진행되는걸로 알고 있다. 하지만 쌍둥이 일경우 다르다.블로그를 보면 A라는 곳은 16주, B라는 곳은 20주 또 어떤곳은 주 수 상관없이 가능하다고 한다. 내가 A다이렉트로 물어봤을 때는 주 수 상관없다고 하고, B 다이렉트로 물어봤을 때도 주 수 상관 없다고 했다. 그리고 여러 보험회사를 같이하는 설계사와 상담해보니 B는 20주가 넘어야 보험가입이 된다고 했다. 헉!! 내가 다이렉트 통해 얻은 정보와 달랐다. 이 때 나는 맨붕이 왔고 설계사가 전달하는 정보가 100% 맞지 않을 수 있겠다는 생각이 들었다. (지금 생각하면 주 수와는 상관이 없지만 가입 시 필.. 2025. 9. 6.
운영체제 #10 가상 메모리 개념가상 메모리(Virtual Memory) 는 물리 메모리를 추상화하여, 사용자에게는 매우 큰 균일한 저장장소 배열로 보이도록 한다.실제 물리 메모리보다 큰 주소 공간을 사용할 수 있도록 지원한다.가상메모리가 물리 메모리보다 크기가 크다.예) 32비트 시스템: 가상 주소공간 2의 32승 = 4GB, 물리 메모리 512MB가상 메모리의 이점물리 메모리보다 큰 프로그램 실행 가능전체 프로그램이 메모리에 상주할 필요 없음프로세스 간 메모리 공유 가능프로세스 생성 효율성 향상 (예: 쓰기 시 복사)페이징 - 배경초기의 메모리 관리 방식은 연속 메모리 할당(Contiguous Allocation).프로세스는 실행을 위해 연속된 물리 메모리 공간이 필요했음.시간이 지날수록 외부 단편화(External.. 2025. 8. 27.
운영체제 #9 메모리 관리 개요메모리는 현대 컴퓨터 시스템 동작의 핵심으로, 각각 고유한 주소를 갖는 큰 바이트 배열 형태이다.각 프로세스는 자신만의 주소 공간(address space) 을 갖는다. 주소 바인딩 (Address Binding)심볼릭 주소(Symbolic Address) → 논리 주소(Logical Address) → 물리 주소(Physical Address) 변환 과정이 필요하다.이 변환은 다음 시점에 일어날 수 있다:컴파일 시(binding at compile time): 실행 파일에 물리 주소를 직접 기록.적재 시(binding at load time): 실행 시점에 메모리에 적재될 때 주소 결정.실행 시(binding at execution time): 프로그램 실행 도중 MMU가 동적으로 변환.. 2025. 8. 25.
운영체제 #8 교착 상태(Deadlock)프로세스 집합의 모든 프로세스가 같은 집합 내 다른 프로세스가 보유한 자원을 기다리는 상황을 말한다. 이 경우 더 이상 진행이 불가능하며, 시스템은 교착 상태에 빠지게 된다. 교착 상태 발생의 필요조건 (네 가지)교착 상태가 발생하기 위해서는 다음 조건이 모두 충족되어야 한다.상호 배제 (Mutual Exclusion)자원은 한 번에 오직 하나의 프로세스만 사용할 수 있어야 한다.점유하며 대기 (Hold and Wait)최소 하나의 자원을 점유한 상태에서 다른 자원을 기다려야 한다.비선점 (No Preemption)이미 할당된 자원은 사용이 끝나기 전까지 강제로 빼앗을 수 없다.순환 대기 (Circular Wait)프로세스들이 자원을 기다리면서 원형으로 연결된 형태를 이뤄야 한.. 2025. 8. 24.