운영체제의 구조
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
'OS' 카테고리의 다른 글
[운영체제] CPU 스케줄링 (0) | 2021.01.22 |
---|---|
[운영체제] 프로세스와 스레드 (0) | 2021.01.22 |
[운영체제] 컴퓨터 구조와 성능 향상 (2) (0) | 2021.01.22 |
[운영체제] 컴퓨터 구조와 성능 향상 (1) (0) | 2021.01.22 |
[운영체제] 운영체제의 소개와 역사 (0) | 2021.01.22 |