CS/운영체제 5

운영체제의 파일 시스템

파일 시스템이란?운영체제의 파일 시스템(File System)은 저장 장치(HDD, SSD 등)에 데이터를 논리적 단위인 파일과 디렉토리 형태로 저장, 조직, 관리하는 핵심 기능입니다. 물리적인 블록 수준의 데이터 저장을 사용자 친화적인 인터페이스로 추상화하여, 사용자가 파일 단위로 데이터를 쉽게 접근하고 조작할 수 있도록 합니다.주요 역할데이터 조직화데이터를 파일 단위로 나누고, 관련 파일을 디렉토리(폴더) 구조로 계층화하여 관리합니다.디렉토리는 트리 구조를 갖고 있으며, 루트 디렉토리를 기준으로 하위 디렉토리와 파일이 구성됩니다.파일 접근 및 조작 기능 제공파일의 생성, 읽기, 쓰기, 수정, 삭제와 같은 기본 연산을 제공합니다.각 파일에 대해 접근 권한(R/W/X)을 설정하여 보안을 유지합니다.접근 ..

CS/운영체제 2025.05.07

운영체제의 메모리 관리

메모리 관리 개요컴퓨터에서 메모리는 일반적으로 다음과 같은 구조로 나뉘어 관리됩니다:코드(Code): 프로그램의 실행 명령어가 저장되는 영역데이터(Data): 전역 변수, 정적 변수가 위치하는 영역힙(Heap): 동적 메모리 할당이 이루어지는 영역, 크기가 유동적스택(Stack): 함수 호출 시 사용되는 지역 변수, 매개변수 등이 저장되는 영역운영체제의 메모리 관리 기능은 이러한 구조를 기반으로 하여 한정된 물리 메모리를 여러 프로세스가 효율적이고 안전하게 공유할 수 있도록 관리하는 역할을 수행합니다. CPU가 명령어를 실행하려면 그에 필요한 코드와 데이터를 메모리에 올려야 하므로, 메모리 관리 기능은 운영체제의 핵심 기능 중 하나입니다.메모리 관리의 주요 기능메모리 할당과 해제프로세스가 실행되기 위해 ..

CS/운영체제 2025.05.07

운영체제의 프로세스 관리

프로세스 관리 개요프로세스 관리는 운영체제의 핵심 기능 중 하나로, CPU와 메모리 등의 자원을 효율적으로 분배하여 여러 프로그램(프로세스)이 동시에 실행될 수 있도록 지원합니다. 프로세스란 실행 중인 프로그램의 인스턴스를 의미하며, 운영체제는 프로세스의 생성, 종료, 스케줄링, 동기화 등을 담당합니다.프로세스의 구성 요소코드 (Code): 프로세스의 텍스트 섹션에 해당하는 부분으로, 실제 실행되는 명령어(기계어 코드)를 포함합니다. 이는 프로그램의 논리적 동작을 정의하며, 읽기 전용으로 메모리에 적재됩니다.데이터 (Data): 전역 변수 및 정적으로 할당된 변수가 저장되는 메모리 영역입니다. 초기화된 데이터(.data)와 초기화되지 않은 BSS(.bss) 영역으로 구분되며, 프로그램이 실행되면서 값이 ..

CS/운영체제 2025.04.30

커널

커널 개요 커널은 운영체제의 핵심 구성 요소(Core Component)로, 하드웨어 자원을 직접 관리하고 사용자 프로그램이 이 자원에 안전하게 접근할 수 있도록 중재하는 역할을 합니다. 커널은 하드웨어와 소프트웨어 사이의 추상화 계층(Abstraction Layer)을 제공하여 하드웨어의 복잡한 동작을 숨기고, 프로그램이 표준화된 인터페이스를 통해 하드웨어 기능을 사용할 수 있게 합니다. 또한 커널의 주요 목적은 자원 공유(Resource Sharing)와 자원 보호(Resource Protection)로, 여러 프로그램이 동시에 시스템 자원을 효율적이고 안전하게 사용할 수 있도록 보장하는 것입니다.커널의 주요 구성 요소프로세스 관리자 (Process Manager)프로세스 생성, 종료, 스케줄링, 상..

CS/운영체제 2025.04.23

운영체제

운영체제란?운영체제(OS, Operating System)는 하드웨어와 소프트웨어 사이에서 중재자 역할을 하는 시스템 소프트웨어입니다. 사용자가 하드웨어를 직접 제어하지 않고도 프로그램을 실행하거나 자원을 관리할 수 있도록 지원합니다.주요 역할하드웨어 자원 관리 (CPU, 메모리, 디스크, 네트워크 등)프로세스 관리 (프로그램 실행, 스케줄링, 동기화 등)파일 시스템 관리 (데이터 저장 및 접근)사용자 인터페이스 제공 (CLI, GUI)보안 및 접근 제어 (인증, 권한 관리)운영체제 종류Windows: GUI 기반, 마이크로소프트Linux: 오픈소스, 유닉스 계열, 서버 및 개발 환경macOS: 애플, 유닉스 기반 GUIUnix: 멀티태스킹, 멀티유저 시스템모바일 OS: Android, iOS운영체제 구..

CS/운영체제 2025.04.22