운영체제란?
- Operating System, OS라고 부릅니다.
- 사용자와 하드웨어간 인터페이스제공, 시스템 자원관리, 응용프로그램 관리 등을 수행합니다.
- 운영체제의 코어(핵심)부분을 커널(Kernel)이라고 부릅니다.
운영체제의 역할
1. 시스템 자원( 컴퓨터 하드웨어 ) 관리
- CPU, Memory, I/P Devices 등을 관리합니다.
2. 사용자와 컴퓨터간 커뮤니케이션 지원
3. 응용 프로그램 제어
- 다양한 소프트웨어의 실행, 접근권한, 사용자 관리 등을 수행합니다.
커널과 쉘
- 커널(Kernel)
: 운영체제의 핵심 부분입니다.
: 운영체제는 커널과 일부 응용프로그램및 보조 기능으로 구성되어 있습니다.
- 쉘 (Shell)
: 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램입니다.
: 명령어 기반 인터페이스(CLI)와 그래픽 기반 인터페이스(GUI)가 있습니다.
: 리눅스 의 bash등이 쉘에 속합니다.
커널모드와 사용자모드
프로그램이 전체 컴퓨터 프로그램에 접속할 수 있다면, 문제가 발생합니다.
응용프로그램은 누구나 만들수 있기 때문입니다.
-> 멋대로 프로그램을 변경하거나 제거하는 문제가 발생
이 때문에 운영체제는 커널모드와 사용자 모드로 나뉩니다.
- 사용자모드 : 함부로 응용프로그램이 전체 컴퓨터 시스템을 해치지 못하게 만드는 상태입니다.
- 커널모드 : 운영체제의 커널에 접근할 수 있는 모드로, 전체 프로그램에 대한 수정/삭제 권한을 얻습니다.
CPU Protection Ring
- 컴퓨터의 접근 권한을 원형으로 표현한 그림입니다.
- 커널은 0, OS 서비스는 1과 2, 응용프로그램은 3과 같이 단계별로 접근권한을 설정합니다.
시스템 콜
- 사용자모드와 커널모드 간 연결을 위해 운영체제에서 제공해주는 함수입니다.
- 커널모드로 실행하기 위해서는 반드시 시스템 콜을 거쳐야 합니다.
'Computer Science' 카테고리의 다른 글
운영체제 - 스레드 (0) | 2024.05.02 |
---|---|
운영체제 - 프로세스와 스케줄링 (0) | 2024.05.02 |
컴퓨터구조론 - CPU 성능 개선 (0) | 2024.04.30 |
컴퓨터구조론 - 명령어 코드 (0) | 2024.04.30 |
컴퓨터 구조론 - CPU 레지스터 (0) | 2024.04.30 |