운영 체제의 주요 성과
프로세스
구성
- 수행 가능한 프로그램
- 수행에 필요한 관련 데이터(변수, 작업 공간, 버퍼 등)
- 프로그램 수행 문맥
- 운영체제가 프로세스를 관리하고 처리기가 프로세스를 정확히 수행하는데 필요한 모든 내부데이터 ⇒ 다양한 처리기 레지스터들의 내용 포함
- 프로세스 주소 공간으로부터 분리
- 우선순위, 어떤 입출력 사건이 완료되기를 기다리고 있는지 등도 포함
- 프로그램 상태 저장
정의
- 수행중인 프로그램
- 컴퓨터 상에서 수행 중인 프로그램의 인스턴스
- 처리기에 할당되어 수행될 수 있는 개체
- 단일 순차 실행 쓰레드, 현재 상태, 연계된 시스템 자원 등에 의해 특징지어지는 활동 단위
프로세스마다 할당된 메모리 블록에 프로그램, 데이터, 문맥 정보 저장
모든 프로세스는 운영체제가 관리하는 프로세스 목록(프로세스 메모리 블록의 위치포인터 저장)에 등록
베이스 레지스터: 메모리 영역의 시작 주소
경계 레지스터: 메모리 영역의 크기

메모리 관리
모듈식 프로그래밍, 유연한 데이터 사용 지원하는 컴퓨팅 환경 필요, 저장장치 할당에 대한 효율적이고 체계적인 제어와 같은 부분을 만족시키기 위해 운영체제는 5가지 책무를 가짐
- 프로세스 분리: 관계없는 프로세스들이 서로의 데이터나 메모리 영역을 침범하지 못하도록
- 자동 할당 및 관리: 메모리 영역은 사용자의 개입 없이 자동으로 동적 할당되어야 o
- 모듈식 프로그래밍 지원: 프로그래머는 프로그램 모듈을 정의, 작성, 삭제, 크기 변경할 수 있어야 o
- 보호 및 접근 제어: 메모리가 공유되면 한 프로그램이 다른 프로그램의 메모리 주소 공간 참조할 수 o, 다양한 사용자가 다양한 방식으로 메모리의 일부를 접근할 수 있도록 허용해야 o
- 장기 저장: 컴퓨터 전원이 꺼진 후에도 유지되는 정보 저장 수단 필요
이러한 것들은 가상메모리나 파일 시스템 통해 해결 가능
- 가상메모리: 물리적(실주소)으로 이용 가능한 주기억장치의 크기에 상관없이 프로그램이 메모리 주소를 논리적(가상주소) 관점에서 참조할 수 있도록 하는 기법
- 파일 시스템: 장기 저장소 구현, 데이터는 파일이라고 하는 객체 내에 저장
주기억장치/보조기억장치
- 주기억장치: 기계 명령어에 의해 직접 접근 가능
- 보조기억장치: 블록을 주기억장치에 적재야해야만 접근(swap in)
정보 보호 및 보안
- 가용성: 시스템이 중지되지 않도록
- 기밀성: 사용자의 접근 권한에 따른 데이터 접근
- 데이터 무결성: 데이터가 불법적으로 수정되지 못하도록
- 신빙성: 사용자 신원과 데이터의 유효성에 대한 적절한 인증을 하도록
스케줄링 및 자원 관리
- 공정성: 모든 프로세스들은 자원을 동등하게 접근할 수 있어야 o
- 반응 시간 차등화: 모든 요구 조건들을 포괄적으로 만족시킬 수 있도록 할당 및 스케줄링, 이런 결정을 동적으로 내릴 수 있어야 o
- 효율성: 작접 처리량 극대화, 반응시간 최소화
운영체제는 여러 개의 큐(어떤 자원을 사용하기 위해 대기하고 있는 프로세스들의 리스트) 관리
- 단기 큐: 현재 프로세스 전체가 주기억장치에 적재 ← 처리기만 받으면 즉각 실행 o
- 장기 큐: 처리기를 사용하기 위해 대기하는 새로운 작업들의 리스트, 장기 큐에서 단기 큐로 이동
'이론 > 운영체제' 카테고리의 다른 글
[OS] 프로세스 제어블록 (0) | 2023.07.21 |
---|---|
[OS] 운영체제의 결함 종류 (0) | 2023.07.20 |
[OS] 순차처리, 단순 일괄처리, 멀티프로그래밍 일괄처리 (0) | 2023.07.16 |
[OS] 운영체제의 기능 (0) | 2023.07.15 |
[OS] 메모리 계층 구조 (0) | 2023.07.06 |
댓글