본문 바로가기

분류 전체보기67

[OS] File System File파일은 저장의 논리적 단위로, 바이트(Byte)의 집합을 의미한다. 운영 체제(OS) 관점에서 파일은 데이터를 저장하고 관리하는 기본 단위이다. 파일은 텍스트, 이미지, 실행 가능한 프로그램 등 다양한 형태로 존재할 수 있으며, 이러한 파일들을 체계적으로 관리하기 위해 디렉토리 구조가 사용된다.하드웨어적 관점에서는 블록(Block)이라는 최소 단위가 존재하며, 이는 디스크의 섹터(Sector)와 트랙(Track)으로 나눈 부분을 의미한다. 파일 시스템은 이러한 블록을 이용해 데이터를 효율적으로 저장하고 관리한다. 사용자 관점에서 파일 시스템의 지속성(Persistence), 사용 편의성(Ease of Use), 효율성(Efficiency), 속도(Speed), 보호(Protection)가 중요하다.. 2024. 7. 1.
[OS] Memory Management Segmentation*Segment: 프로세스의 메모리를 논리적으로 나눈 단위 세그멘테이션은 프로세스를 여러 세그먼트 또는 파티션으로 나누는 메모리 관리 기법이다. 각 세그먼트는 Code(read only), Data, Bss, Stack과 같은 프로그램의 다른 부분을 나타내며, 크기가 다를 수 있다. 이 기법은 세그먼트를 비연속적으로 물리 메모리에 할당할 수 있어 연속적인 메모리 할당의 필요성을 줄인다. 다만, 각 세그먼트 내부는 연속적으로 할당되어야 한다. 세그멘테이션의 주요 장점 중 하나는 가변 크기 세그먼트를 사용하여 내부 단편화를 줄일 수 있다는 점이다. 이는 세그먼트가 동적으로 성장하거나 축소될 수 있어 내부 단편화를 최소화할 수 있음을 의미한다. 또한, 세그멘테이션은 각 세그먼트를 독립적으.. 2024. 7. 1.
[OS] Program -> Process 프로그램이 실제로 실행되기 위해서는 프로세스로 변환되어야 하는데, 이는 프로그램이 단순히 저장 장치에 저장된 코드와 데이터의 정적인 형태에서 벗어나, 운영 체제가 관리할 수 있는 동적인 실행 단위로 활성화되어야 하기 때문이다. 이 과정을 자세히 살펴보면 다음과 같다. [프로그램 vs 프로세스]프로그램(Program): 디스크와 같은 저장 매체에 저장된 실행 가능한 파일로, 코드와 데이터의 정적인 형태를 가지며, 실행되지 않는 상태이다.프로세스(Process): 실행 중인 프로그램으로, 운영 체제가 메모리에 할당하고 실행을 관리하는 동적인 상태이다. 프로세스는 메모리, 실행 상태, 프로세스 ID 등 실행에 필요한 여러 자원과 정보를 포함한다. [프로세스 생성 과정]1. 프로그램의 로딩컴파일 → 어셈블 → .. 2024. 7. 1.
[OS] Deadlock TerminologyDeadlock은 두 개 이상의 프로세스가 서로의 자원을 필요로 하면서 상대방의 작업 완료를 무한정 기다리는 현상이다. 이 상황에서 각 프로세스는 상대방이 필요로 하는 특정 이벤트를 제공할 수 있는데, 모든 관련 프로세스가 서로의 이벤트를 기다리면서 어느 쪽도 진행할 수 없게 되어 결국 모두 정지하게 된다.Deadlock의 필요조건에는 4가지가 있다.상호 배제 (Mutual Exclusion): 요구하는 자원이 다른 프로세스에 의해 사용 중일 경우, 해당 자원이 방출될 때까지 기다려야 한다.보유 대기 (Hold-and-Wait): 프로세스가 최소 하나 이상의 자원을 보유한 상태에서 추가 자원을 획득하기 위해 대기할 수 있다.비선점 (No Preemption): 다른 프로세스나 운영체제.. 2024. 7. 1.