컴퓨터 시스템에서 핵심적인 역할을 하는 소프트웨어사용자와 하드웨어 간의 중재자 역할프로그램이 효과적으로 실행되도록 돕고, 자원을 효율적으로 관리하고, 시스템을 안정적으로 유지하는 책임이 있음운영체제는 가상화, 병행성, 영속성이라는 세 가지 주요 아이디어를 중심으로 동작
프로그램 : 어떤 작업을 하기 위해 실행할 수 있는 파일 또는 프로그램프로세스 : 메모리에 적재되고 CPU 자원을 할당받아 프로그램이 실행되고 있는 상태운영체제에서 하나의 응용 프로그램에 대해 동시에 여러 개의 프로세스를 실행할 수 있게 하는 기술보통 하나의 프로그램
코드(Code) 세그먼트 \- 프로그램 소스 코드가 저장되는 공간 \- 프로그램 내에서 변경되지 않으므로, 여러 프로세스가 동일한 코드 실행시 이 부분을 공유 가능 \- 이를 통해 메모리 사용량을 줄일 수 있음데이터(Data) 세그먼트 \- 전역 변수와 stat
컴퓨터의 프로세서가 현재 실행 중인 작업을 중단하고, 발생한 특정 이벤트를 처리하도록 하는 신호하드웨어 또는 소프트웨어에 의해 발생할 수 있으며, 시스템에서 발생하는 다양한 이벤트(예: 타머, 입출력 장치, 시스템 오류)를 처리하는 데 사용됨컴퓨터 외부 장치에 의해 발
운영체제가 각 프로세스를 관리하기 위해 사용하는 데이터 구조각 프로세스는 고유한 PCB를 가지며, 이 PCB는 프로세스의 현재 상태 및 관련 정보를 저장함운영체제는 PCB를 참조하여 프로세스를 관리하고 문맥 교환(Context Switching)을 수행할 때 필요한 데
프로세스간 통신(Inter-Process Communication, IPC)은 운영 체제에서 서로 독립적으로 실행되는 프로세스들 간에 데이터를 주고받는 방법을 의미각 프로세스는 독립적인 실행 객체이기 때문에 프로세스 간 통신을 하려면 커널이 제공하는 IPC 모델 방식을
운영 체제가 CPU를 여러 프로세스나 스레드에 어떻게 할당할지를 결정하는 메커니즘여러 프로세스가 동시에 실행되기를 원할 때, CPU는 한 번에 하나의 프로세스만을 실행할 수 있으므로, CPU 스케줄러는 프로세스들이 공정하게 , 그리고 효율적으로 CPU를 사용할 수 있도
두 개 이상의 프로세스들이 서로가 가진 자원을 기다리며 중단된 상태프로세스 A가 프로세스 B의 어떤 자원을 요청할 때 프로세스 B도 프로세스 A가 점유하고 있는 자원을 요청할 때 발생아래 네 가지 조건이 모두 동시에 충족되어야 함상호 배제 : 자원이 독점적으로 사용되며
여러 프로세스나 스레드가 동시에 공유 자원에 접근하려고 할 때 발생하는 문제접근 순서에 따라 프로그램의 동작이 달라질 수 있는 상황운영체제나 병렬 처리 시스템에서 흔히 발생하는 문제 중 하나공유 자원 : 여러 프로세스나 스레드가 동시에 접근할 수 있는 자원(메모리, 파
메모리의 여러 빈 공간이 존재하지만, 이 빈 공간들이 서로 떨어져 있어 충분한 크기의 연속된 메모리 블록을 할당하지 못하는 현상동적 분할 기법에서 발생프로세스에 할당된 메모리 블록 내에서 사용되지 않는 공간이 발생하는 현상고정 분할 기법에서 발생개념 \- 메모리를 고
운영체제는 프로세스가 필요로 하는 데이터를 메모리(RAM)에서 관리메모리 용량은 제한되어 있기 때문에, 모든 데이터를 한 번에 메모리에 올려놓을 수 없는 경우가 발생이럴 때, 페이지라는 단위로 데이터를 관리하고, 필요할 때 페이지 교체(Page Replacement)
컴퓨터 시스템에서 프로세스가 실행될 때 사용되는 주 기억장치주로 램(RAM, Random Access Memory) 이 메인 메모리로 사용됨데이터와 프로그램이 일시적으로 저장되는 장소로, CPU가 직접 접근할 수 있는 가장 빠른 기억 장치 중 하나주요 역할은 실행 중인
파일(File) \- 논리적인 저장 단위로, 관련된 정보 자료들의 집합에 이름을 붙인 것 \- 컴퓨터 시스템의 편리한 사용을 위해 정보 저장의 일관된 논리적 관점을 제공파일 속성(File attribute) \- 파일을 관리하기 위한 각종 정보이며, 파일 자체의