== 운영체제의 구조 ==
커널(Kernel)
- OS의 핵심 부분 (메모리 상주)
: 가장 빈번하게 사용되는 기능들 담당(시스템 관리 processor, memory, Etc) 등
메모리에 항상 올라가 있는 것들은 커널
: 동의어 (핵, 관리자 프로그램, 상주 프로그램, 제어 프로그램 등)
운영체제에서 커널을 제외한 나머지 것들을 유틸리티(Utility)
- 비상주 프로그램(메모리에 항상 올라가있지 않은)
- UI등 서비스 프로그램
하드웨어가 있고 그 하드웨어를 관리하는 Kernel이 있고,
Kernel에게 무언가를 요청하는 통로 > System calls
Utilites가 감싸는 부분까지가 OS
applications 사용자가 사용하는 서비스
Kernerl 운영체제가하는 일은 리소스를 관리하는 일이다.
* 단일 구조
프로그램 main 안에 모든 것이 다 들어있는 것과 같음
장점 : 커널 내 모듈간 직접 통신 (효율적 자원 관리 및 사용)
단점 : 커널의 거대화
- 오류 및 버그, 추가 기능 구현 등 유지보수의 어려움
- 동일 메모리에 모든 기능이 있어 한 모듈의 오류가 전체 시스템에 영향(예, 악성코드)
계층 구조
- 장점
: 모듈화(계층간 검증 및 수정 용이
: 설계 및 구현의 단순화
- 단점 : 단일구조 대비 성능저사(원하는 기능 수행을 위해 여러 계층을 거쳐야 함)
* 마이크로 커널 구조
커널이 너무 커지니 문제가 되더라 그러니 커널에는 진짜 핵심 기능만 담고
나머지는 사용자 영역에서 응요프로그램처럼 실행을 하자
메모리/프로세스 관리 프로세스간 통신
** 운영체제가 하는 일은 "관리"
하드웨어/소프트웨어/프로세스/프로세서
* Process Management
- 프로세스(Process)
커널에 등록된 실행 단위(실행 중인 프로그램)
사용자 요청/프로그램의 수행 주체(entity)
여러 개의 프로세스가 하나의 자원을 사용하려 할 때 중재하는 것도 os운영체제의 역할이다.
Process는 cpu라고 이해해도 지금은 괜찮다.
CPU를 누구에게 얼마만큼 줄 것인가
중앙처리 장치(cpu) : 프로그램을 실행하는 핵심 자원
프로세스 스케줄링(Scheduling) : 시스템 내의 프로세스 처리 순서 결정
프로세서 할당 관리
프로세스들에 대한 프로세서 할당 : 한 번에 하나의 프로세스만 사용 가능
메모리를 관리하는 것도 운영체제의 역할
주기억장치
여러 명(프로세스)이 메모리를 동시에 쓸 때 어떻게 할당하고 가져올 지 메모리의 공간을 체크하고 있는지, 불법적인 접근을 막는 역할
운영체제의 역할 중 하나 ㄱ
* File Management
파일 : 논리적 데이터 저장 단위
사용자 및 시스템의 파일 관리
디렉토리(directory) 구조 지원
파일 관리 기능
: 파일 및 디렉토리 생성/삭제
: 파일 접근 및 조작
: 파일을 물리적 저장 공간으로 사상(mapping)
: 백업 등
* I/O Management
: OS를 반드시 거쳐야 함
프로세서가 직접 입출력을 할 수는 없고 운영체제를 거쳐서 실행해야 한다.
운영체제가 관리하는 범위
Disk
Networking
Security and Protection system
Command interpreter system
System call interface
응용 프로그램과 os 사이의 인터페이스
os가 응용프로그램에 제공하는서비스
'운영체제 (Operation System)' 카테고리의 다른 글
[OS] Lecture 3. Process Management (2/2) / 운영체제 강의 (0) | 2021.12.09 |
---|---|
[OS] Lecture 3. Process Management (1/2) / 운영체제 강의 (0) | 2021.12.09 |
[OS] Lecture 2. OS Overview (2/3) / 운영체제 강의 (0) | 2021.12.08 |
[OS] Lecture 2. OS Overview (1/3) / 운영체제 강의 (0) | 2021.12.07 |
[OS] Lecture 1. Computer System Overview / 운영체제 강의 (0) | 2021.12.07 |