Be ready to study forever - 개발자 꿈나무
운영체제 배경지식 본문
운영체제의 역할
운영체제는 크게 두가지 역할을 함
1. 하드웨어 컨트롤
- CPU, Memory, Storage, Input & Output device 등을 제어함
2. 응용프로그램에게 리소스(CPU, Memory등)을 할당, 분배함
운영체제의 구조
System Call – 운영체제의 제어 기능을 응용프로그램이나 쉘에서도 사용할 수 있도록 운영체제는 시스템 콜을 제공한다. 원칙적으로 사용자 또는 응용프로그램은 직접 커널에 접근 할 수 없기 때문에 시스템 콜을 사용한다.
Library API – 응용프로그램은 다양한 언어로 만들어 져 있다. Java, Python, C등은 다른 언어로 작성 되어 있기 때문에 시스템 콜을 호출하려면 각각의 언어에서 사용할 수 있도록 한번 더 해당 언어로 감싸야 한다. 이렇게 시스템 콜은 언어별로 감싼 것이 API
Shell – 쉘은 사용자가 운영체제를 조작할 수 있도록 인터페이스를 제공하는 프로그램이다.
CPU protection ring
CPU는 권한 모드가 있는데, 크게는 사용자 모드와, 커널 모드가 있다. 사용자 모드는 응용프로그램이 사용하며, 커널 모드는 운영체제가 사용하며 특권 명령어 실행을 위한 자원접근이 가능한 모드이다.
API를 통해 시스템콜이 호출되면 사용자 모드에서 커널 모드로 전환된다.
'Programming > Operating System' 카테고리의 다른 글
파일 시스템 (0) | 2021.01.07 |
---|---|
가상 메모리와 페이징 (0) | 2021.01.07 |
Thread의 이해 (0) | 2021.01.06 |
프로세스 구조와 IPC(Inter Process Communication) (0) | 2021.01.06 |
운영체제의 스캐쥴러 이해 (0) | 2021.01.06 |
Comments