All'alba vincerò

At dawn, I will win!

전체보기 407

블랙박스(Black Box) & 프로토콜(Protocol)

블랙박스 (Black Box): 기능은 알고 있지만, 내부 작동 원리는 복잡해서 감춰져 있는 시스템사용자는 입력에 대한 출력은 예측할 수 있지만, 내부에서 어떤 방식으로 동작하는지는 알 필요가 없는 시스템ex) 가스레인지를 사용하는 요리사요리사는 가스레인지의 버튼을 돌리면 불이 켜지는 것을 알고 있음하지만 내부에서 어떻게 불이 켜지는지는 모름요리사는 블랙박스 덕분에 불을 피우는 복잡한 과정을 몰라도 요리에 집중할 수 있음가스레인지 ⇒ 블랙박스에 해당 블랙박스의 응용프로그래밍에서 함수는 블랙박스에 해당함입력값을 넣으면 결과가 나오지만, 함수 내부의 작동 방식은 신경 쓰지 않음운영체제도 하나의 큰 블랙박스로 볼 수 있음운영체제 안에는 마우스를 처리하는 드라이버, 파일을 관리하는 파일 시스템 등 각각의 블랙..

CS/네트워크 2025.06.11

파일 시스템, 파일 저장하는 방식

파일과 디스크파일 시스템은 디스크 공간을 효율적으로 관리하기 위해 메모리의 페이징처럼 전제 디스크 공간을 일정한 크기로 나누고, 그 공간에 주소를 할당해서 관리함일정한 크기로 나눈 공간을 메모리에선 페이지(Page) 라고 부르고, 파일 시스템에선 블록(Block) 이라고 부름파일 시스템은 파일 정보를 파일 테이블로 관리하는데, 여기엔 파일이 시작하는 블록의 위치 정보도 담겨있음 파일과 블록의 관계블록(Block): 디스크를 일정한 크기로 나눈 단위페이징처럼 디스크 공간에 주소를 할당해 추적 가능하게 함 디스크는 일정한 크기의 블록으로 나뉘고, 블록의 크기는 1부터 8KB 정도임 디스크를 1KB로 나누면 → 낭비되는 공간을 줄지만⬇️, 관리해야 할 블록의 수도 많아짐⬆️8KB로 나누면 → 관리해야 할 ..

CS/운영체제 2025.06.11

디렉토리(Directory)

디렉토리 (Directory): 관련 있는 파일을 모아둘 수 있는 공간 한 개 이상의 파일을 가질 수 있으며, 하위 디렉토리도 포함할 수 있음디렉토리는 단순한 폴더가 아니라 파일 시스템에서 매우 중요한 계층 구조의 구성 요소운영체제에 따라 그 구조와 표기법이 다르게 표현됨 디렉토리와 파일의 차이점운영체제에서 디렉토리도 파일의 일종임운영체제는 파일과 디렉토리를 동일한 방식으로 관리디렉토리도 내부적으로는 파일처럼 취급되며, 특정한 메타데이터를 저장하는 구조임디렉토리는 데이터가 아닌 "데이터에 대한 정보"를 저장하는 파일일반 파일사용자의 데이터가 저장됨 (텍스트, 이미지, 실행 파일 등)디렉토리 파일해당 디렉토리 안에 있는 파일들의 정보(파일명, 위치 등)가 저장됨 루트 디렉토리 (Root Direct..

CS/운영체제 2025.06.11

파일 & 파일 시스템

파일과 파일 시스템운영체제에서 파일은 정보를 저장하는 기본 단위운영체제는 파일을 효율적이고 안전하게 관리하기 위해 파일 관리자를 두며, 이를 파일 시스템(File System)이라고 함사용자가 직접 저장하게 되면 중요한 정보를 훼손할 수 있기 때문에 사용자가 운영체제를 통해 요청하면, 운영체제가 안전하게 저장해줌파일 시스템은 하드디스크나 플래시 메모리 같은 저장장치에 저장되기 때문에 전송 단위가 블록(block)임주변장치는 캐릭터 디바이스와 블록 디바이스로 구분하는데, 하드디스크와 플래시 메모리는 블록 디바이스임저장장치의 전송 단위는 블록이지만, 사용자는 바이트 단위로 파일에 접근이 가능해야 함 → 파일 시스템이 중간에서 관리해줌가상 메모리에서 메모리 관리자가 페이지 테이블을 통해 주소를 변환하듯, 파일..

CS/운영체제 2025.06.10

하드디스크(HDD) / 플래시 메모리(Flash Memory)

하드디스크(HDD): 돌아가는 판에 자석처럼 데이터를 저장하는 장치 구조스핀들 (Spindle)플래터(platter)원판들을 고정해두는 막대 축플래터 (Platter)자기화된 원판여기에 실제 데이터가 저장됨여러 개의 트랙(track)으로 구성되어 있음표면에 자성이 있어서 표면이 N극을 띄면 0, S극을 띄면 1로 인식함보통 하드디스크의 플래터 수는 2개 이상임디스크 암 (Disk Arm)플래터 위를 움직이며 헤드를 원하는 위치로 이동시킴헤드(read/write head)로 플래터의 표면을 읽음헤드 (Read/Write Head)플래터 위의 데이터를 읽거나 씀디스크 암에 고정되어 있음모든 헤드는 항상 같이 움직임 데이터 구성 트랙(track): 플래터의 동심원섹터(sector): 트랙의 일부, ..

CS/운영체제 2025.06.08

주변장치(I/O 디바이스, 저장장치)

주변장치: 컴퓨터와 연결된 입출력 장치들그래픽 카드, 하드디스크, SSD, 키보드, 마우스 등 주변 장치들의 외부 구조주변장치들은 메인 보드에 있는 버스로 연결됨실제로 하나의 버스는 Address 버스 Data 버스, Control 버스로 이루어져 있음→ 그래서 I/O 디바이스는 이 3가지 버스를 각각 따로 받을 수 있음각 하드웨어에 맞게 외부 인터페이스가 존재함장치의 상태와 데이터를 저장할 수 있는 각종 레지스터들이 있음→ 입출력 작업을 할 때 데이터를 저장하고, CPU가 사용하기 위해 메모리로 이동되기도 함 캐릭터 디바이스, 블록 디바이스 데이터 전송 단위에 따라 두 종류로 나뉨 캐릭터 디바이스: 데이터를 글자 단위로 읽고 쓰는 장치 데이터 전송 단위: 캐릭터(글자)적은 양의 데이터를 전송..

CS/운영체제 2025.06.08

스레싱 & 워킹셋: 메모리 부족 문제와 해결책

스레싱과 워킹셋 개념의 배경CPU 사용률과 멀티 프로그래밍운영체제의 CPU 스케줄링 목표는 CPU 사용률을 최대화하는 것⇒ 이를 위해 멀티 프로그래밍 정도(동시에 메모리에 올리는 프로세스 수)를 늘림여러 프로세스가 있으면, 어떤 프로세스가 I/O 작업으로 CPU 사용을 할 수 없을 때 다른 프로세스로 컨텍스트 스위칭해서 CPU 사용률을 높일 수 있음 멀티프로그래밍을 늘리면 생기는 문제 CPU 사용률을 높이기 위해 멀티 프로그래밍 정도를 늘렸으면, 당연히 이 프로세스들이 필요로 하는 공간이 있기 때문에 물리 메모리의 프레임을 할당해야 함 하지만 물리 메모리는 한정적이기 때문에→ 모든 프로세스의 모든 페이지를 물리 메모리에 한 번에 올릴 수 없음→ 일부 페이지는 디스크의 스왑 영역에 저장됨 멀티프로그래밍 ..

CS/운영체제 2025.06.07

페이지 교체 정책: 페이지 폴트 발생 시 메모리가 꽉 찼을 때 어떤 페이지를 제거할지 결정하는 정책

페이지 교체 정책 (Page Replacement Policy) : 페이지 폴트 발생 시 메모리에 공간이 부족할 때, 어떤 페이지를 스왑 영역으로 옮길지 결정하는 정책 프로세스는 데이터 접근을 위해 메모리를 참조하는데, 해당 페이지가 메모리에 없으면 페이지 폴트(Page Fault)가 발생함 → 페이지 폴트가 발생하면 해당 페이지를 스왑 영역에서 메모리로 불러들여야 하는데, 메모리가 꽉 차서 공간이 없다면 메모리에 있는 페이지 중 하나를 선택해서 스왑 영역으로 옮겨야 함 → 이때 어떤 페이지를 스왑 영역으로 옮길지 결정하는 정책 ⇒ 페이지 교체 정책메모리 관리 전략 종류배치 정책: 세그멘테이션, 페이징, 페이지드 세그멘테이션가져오기 정책: 디맨드 페이징교체 정책: 페이지 교체 정책 페이지 교체 알고리..

CS/운영체제 2025.06.07

디맨드 페이징(Demand Paging): 필요한 데이터를 메모리로 가져오고, 안쓰는 데이터는 스왑 영역으로 옮기는 메모리 관리 기법

디맨드 페이징(Demand Paging) : 곧 필요할 것 같은 데이터를 메모리로 가져오고, 쓰이지 않을 데이터는 스왑 영역으로 옮겨서 메모리를 효율적으로 사용하는 기법 프로세스가 실행될 때는 프로세스를 이루는 모든 영역(코드 영역, 데이터 영역, 힙 영역, 스택 영역)이 메모리에 올라오는 것이 아니라 필요한 모듈만 올라와서 실행됨ex) 포토샵 실행 시 → 본 프로그램만 메모리에 올리고, 외부 필터들은 사용자가 클릭할 때만 메모리로 가져옴디맨드 페이징은 지역성 이론을 기반으로 함 지역성(Locality) 이론 : 물체가 바로 인접한 환경에 의해서 직접적인 영향을 받는다는 원칙 지역성 이론은 조만간 쓰일 데이터만 메모리에 올리고, 당분간 필요하지 않을 것 같은 데이터는 스왑 영역으로 보냄 ⇒ 성..

CS/운영체제 2025.06.05

페이지드 세그멘테이션(Paged Segmentation): 세그멘테이션으로 논리적 구역을 나누고, 세그먼트 내부를 페이징으로 나누는 메모리 관리 기법

페이지드 세그멘테이션 (Paged Segmentation): 세그멘테이션으로 논리적 구역을 나눈 뒤, 각 세그먼트 내부를 페이징으로 나누는 메모리 관리 기법 세그멘테이션(Segmentation)과 페이징(Paging)의 장점을 혼합한 방식운영체제의 메모리 관리 기법 중 하나 기법특징세그멘테이션가변 분할 방식기능 영역별로 메모리를 나누어 관리 가능(코드, 데이터, 스택 등)→ 다른 프로세스와 공유가 편리하고, 접근 보호가 쉬움페이징고정 분할 방식메모리를 동일한 크기의 페이지로 나눔→ 메모리 관리가 간단하고 외부 단편화 문제 해결페이지드 세그멘테이션혼합(가변 + 고정) 분할 방식페이지 단위로 물리 메모리 관리를 수행→ 세그멘트 단위로 접근 제어 및 보호 가능 페이지드 세그멘테이션 구조 각각의 역할은 이..

CS/운영체제 2025.06.05