본문 바로가기

OS

[운영체제] 운영체제의 구조

 

 


운영체제의 구조

1 커널과 인터페이스

'커널kernel: 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것. ex) 자동차의 엔진

'인터페이스: 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할

 

커널의 역할 편집 커널은 운영 체제의 핵심 부분이므로, 커널의 역할 역시 운영 체제의 핵심 역할이라 할 수 있다. 보안 자원 관리 한정된 시스템 자원을 효율적으로 관리하여 프로그램 의 실행을 원활하게 한다. 특히 프로세스에 처리기를 할당하는 것을 스케줄링이라 한다. 추상화 같은 종류의 부품 에 대해 다양한 하드웨어 를 설계할 수 있기 때문에 하드웨어에 직접 접근하는 것은 문제를 매우 복잡하게 만들 수 있다. 일반적으로 커널은 운영 체제의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스 를 하드웨어에 제공하기 위해 몇 가지 하드...

itwiki.kr

 

 

2 시스템 호출과 디바이스 드라이버

2.1 시스템 호출

'시스템 호출system call: 커널이 자신을 보호하기 위해 만든 인터페이스

'자원을 이용하려면 시스템 호출을 이용하여 접근해야 한다.

 

2.2 드라이버

'운영체제와 장치를 연결

'커널과 하드웨어 인터페이스 담당

 

 

3 커널의 구성

3.1 단일형 구조 커널

'초창기의 운영체제 구조, 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있다.

'장점 - 모듈 간의 통신 비용이 줄어들어 효율적인 운영 가능

'단점 - 버그나 오류 처리가 어렵다.

- 상호 의존성이 높아 작은 결함이 시스템 전체로 확산될 수 있다.

- 수정이 어려워 이식성이 낮다.

- 구현에 어려움이 있다.

 

3.2 계층형 구조 커널

'단일형 구조 커널이 발전된 형태, 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고 계층 간의 통신을 통해 운영체제를 구현하는 방식

'오늘날의 운영체제는 대부분 이 구조이다.

'장점 - 버그나 오류를 보다 쉽게 처리 가능하다.

- 해당 계층만 따로 수정하면 돼서 디버깅하기 쉽다.

 

3.3 마이크로 구조 커널

'계층형 구조의 접근 방식과 반대로 개발된 커널

'프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능만 제공

'장점 - 독립성이 있고, 이식하기 쉽다.

- 커널이 가벼워 CPU 용량이 작은 시스템에도 적용 가능하다.

ex) 마하Mach

 

 

4 가상머신

운영체제와의 호환성을 높일 수는 없을까?

호환성 문제를 해결한 언어는 바로 'Java'

 

자바가 작동하는 원리는 운영체제 위에

가상머신virtual machine을 만든 후에,

그 위에서 응용프로그램이 작동하게 하는 것!

'가상머신: 나의 하드웨어(CPU, Memory등)에 다수의 운영체제를 설치하고, 개별 컴퓨터처럼 동작하도록 하는 프로그램

 


+가상머신의 이해 ...

 

운영체제(OS) 부트캠프: 가상 머신의 이해 - 잔재미코딩

혹시 본 자료가 도움이 되셨다면, 이런식으로 잘 정리된 코드/자료로 만든 제 강의 한번 봐주실래요? 처음하는 파이썬 데이터 분석 전처리, pandas, 시각화까지 전과정을 까지 짧은 시간에 견고하게 정리하기 자세히 알아보기 모든 강좌 보기 12. 가상 머신의 이해 가볍게 이해하기: Virtual Machine (가상 머신) 하나의 하드웨어(CPU, Memory등)에 다수의 운영체제를 설치하고, 개별 컴퓨터처럼 동작하도록 하는 프로그램 Virtual Machine Type1 (native 또는 bare metal) 하이퍼 바이저(또는...

www.fun-coding.org


 

 

 

참고자료

쉽게 배우는 운영체제, 조성호

http://www.ilovepc.co.kr/news/articleView.html?idxno=177

http://itwiki.kr/w/%EC%BB%A4%EB%84%90

https://webdir.tistory.com/392

https://www.fun-coding.org/virtualmachine.html