반응형

CS/OS 7

[OS] 프로세스 간 통신 (IPC)

개요 실행중인 프로세스가 다른 실행중인 프로세스들과 데이터를 공유하지 않는다면 그 프로세스는 독립적인 프로세스이고, 다른 프로세들에 영향을 주거나 받는다면 협력적인 프로세스이다. 협력적인 프로세스들은 데이터를 교환할 수 있어야 하므로 프로세스 간 통신 기법(InterProcess Communication, IPC)가 필요하다. 프로세스 간 통신에는 공유 메모리와 메시지 전달의 두 가지 모델이 있다. 공유 메모리 방식 협력 프로세스들에 의해 공유되는 메모리 영역이 구축된다. 프로세스들은 영역 안에 데이터를 읽고 쓰면서 정보를 교환한다. 공유 메모리 영역은 공유 메모리 세그먼트를 생성하는 프로세스의 주소 공간에 위치한다. 통신하고자 하는 다른 프로세스들은 세그먼트를 자신의 주소 공간에 추가해야 한다. 그런 ..

CS/OS 2022.08.04

[OS] 프로세스

개요 디스크에 있는 데이터 파일을 프로그램이라고 하고, 메모리에 올라와 실행 중인 프로그램을 프로세스라고 한다. 프로세스는 현대 컴퓨팅 시스템에서 작업의 단위를 뜻한다. 프로세스 메모리 배치 Text(Code) 영역 : 실행 코드가 저장된다. Data 영역 : 전역 변수들이 저장된다. Heap 영역 : 프로그램 실행 중에 동적으로 할당되는 메모리이다. Stack 영역 : 함수를 호출할 때 데이터(함수 매개변수, 복귀 주소 및 지역 변수)를 임시로 저장하는 메모리이다. Text, Data 영역의 크기는 고정되어 있어 프로그램 실행 시간 동안 크기가 변하지 않는다. Heap, Stack 영역은 프로그램 실행 중에 동적으로 줄어들거나 커질 수 있다. 운영체제는 Stack과 Heap 영역이 서로 겹치지 않도록 ..

CS/OS 2022.08.02

[OS] 시스템 프로그램

개요 프로그램은 응용 프로그램과 시스템 프로그램으로 나눌 수 있다. 시스템 프로그램은 응용 프로그램을 실행하기 위한 플랫폼을 제공하고, 컴퓨터 하드웨어를 동작, 접근할 수 있게 해 준다. 사용자의 문제를 직접 해결하는 응용 프로그램과는 반대의 개념을 가지고 있다. 시스템 서비스, 시스템 유틸리티라고도 한다. 역할 시스템 프로그램의 역할은 다음과 같다. 파일 관리 파일과 디렉토리를 생성, 삭제, 복사, 개명(Rename), 인쇄, 조작한다. 상태 정보 날짜, 시간, 사용 가능한 메모리, 디스크 공간의 양, 사용자 수 등등의 상태 정보를 제공한다. 파일 변경 디스크나 다른 저장 장치에 저장된 파일의 내용을 생성하고 변경한다. 프로그래밍 언어 지원 컴파일러, 어셈블러, 디버거 및 인터프리터 등을 제공한다. 프..

CS/OS 2022.08.01

[OS] 커널 (마이크로 커널, 모놀리틱 커널)

개요 커널은 운영 체제의 핵심이 되는 부분으로 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다. 커널은 컴퓨터 하드웨어와 프로세스의 보안을 책임지고, 한정된 자원을 관리하여 프로세스 처리기에 할당한다. (스케줄링) 또한 인터페이스를 통해 하드웨어를 쉽게 사용할 수 있도록 돕는다. 커널의 종류에는 대표적으로 마이크로 커널과 모놀리틱 커널이 있다. 마이크로 커널 (Micro Kernel) 마이크로 커널은 꼭 필요한 기능만 커널에 구현하고, 필수적이지 않은 기능들은 사용자 모드의 우선순위가 높은 애플리케이션 프로그램으로 만든다. 장점 개발이 용이하고 기능 변경이 쉽다. 한 부분에서 일어난 문제점이 다른 부분에 영향을 미치지 않으므로 유지보수가 쉽다. 커널 내부에서 일어나는 지연이 적고, 예측 가능하기..

CS/OS 2022.05.05

[OS] 시스템 콜

개요 대다수의 운영체제들은 커널 모드와 사용자 모드가 구분되어 있다. 커널 모드는 모든 컴퓨터 리소스에 접근할 수 있다. 사용자 모드는 일반적인 프로그램이 작동되는 영역으로 컴퓨터 리소스에 제한적으로 접근이 가능하다. 따라서 커널 모드에 대한 직접적인 접근이 불가능한데, 이 때 커널에 작업을 요청하여 커널 모드에 처리한 결과를 사용자 모드의 프로그램에게 전달하는 것이 시스템 콜이다. 기능 시스템 콜은 다음과 같은 기능이 있다. 1. 사용자 모드에 있는 응용 프로그램이 커널의 기능을 사용할 수 있도록 한다. 2. 시스템 콜을 하면 사용자 모드에서 커널 모드로 바꿔준다. 3. 커널에서 시스템 콜을 처리하면 커널 모드에서 사용자 모드로 돌아가 작업을 계속한다. 유형 시스템 콜의 유형은 다음과 같다. 1. 프로..

CS/OS 2022.05.05
반응형