운영체제의 심장, 커널
-운영체제가 응용 프로그램에 제공하는 서비스의 종류는 다양하다
-그러나 그 중 핵심서비스 (ex 자원접근 및 조작)들이 있다.
-이런 핵심서비스를 담당하는 부분을 커널이라고 한다.
*대표적으로 커널에 속하지않는 서비스는 사용자인터페이스
-GUI, CLI
이중모드
-운영체제는 사용자가 실행하는 응용프로그램이 하드웨어에 직접접근하는것을 막음
-얘들이 직접접근한다면 컴퓨터 전체에 악영향을 미칠 것
-따라서 응용프로그램이 자원에접근하려고할때는 운영체제를 통해서 접근해야함
-일종의 문지기
*이중모드란 CPU가 명령을 실행하는 모드를 크게 사용자모드/커널모드로 구분하는 방식
사용자모드
-운영체제 서비스를 제공받을 수 없는 실행모드
-커널영역의 코드를 실행할 수 없는 모드
-일반 응용프로그램은 기본적으로 사용자모드
-자원접근 불가능
커널모드
-운영체제 서비스를 제공받을 수 있는 모드
-커널 영역의 코드를 실행할 수 있는 모드
-자원접근 가능
*사용자모드 -> 커널모드 전환시에는 ‘요청’이 필요하다
*이 ‘요청’ 이 시스템호출(시스템콜)
*시스템콜은 소프트웨어 인터럽트
*인터럽트는 입출력장치에 의해 발생하기도하지만, 소프트웨어의 특정 명령에 의해 발생하기도 한다.
운영체제 핵심서비스
1.프로세스관리
*프로세스는 실행중인 프로그램
2.자원접근 및 할당
2-1.CPU
2-1-1.CPU는 한번에 하나의 프로세스만 실행가능
2-1-2.나머지는 기다려야 함
2-2.메모리
2-2-1.어느주소에 적재할까~요?
2-2-2.프로세스를 적재못할때는 어떡할까~요?
2-3.입출력장치
2-3-1.하드웨어 인터럽트로 인한 인터럽트 서비스루틴 제공
2-4.파일시스템 관리
2-4-1.파일/디렉터리로 관리
'재학습 > OS' 카테고리의 다른 글
[운영체제] 스레드, 멀티프로세스 vs 멀티스레드 (0) | 2022.12.09 |
---|---|
[운영체제] 프로세스 상태와 계층구조 (0) | 2022.12.07 |
[운영체제] 프로세스란? (0) | 2022.11.28 |
[운영체제] 란? (2) | 2022.11.23 |