운영체제 (Operation System)

[OS] Lecture 2. OS Overview (3/3) / 운영체제 강의

유호야 2021. 12. 8. 14:54
반응형

 

 

 


 

 

 

 

 

 

 

]

 

 

 


 

== 운영체제의 구조 ==

커널(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가 응용프로그램에 제공하는서비스

 

 

 

반응형