Knowledge/CS지식

[OS] 운영체제의 구조

블로그 주인장 2023. 9. 22.

쉘(Shell)  |  사용자 인터페이스

- 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공한다.

- 사용자가 화면을 통해 실제로 볼 수 있고, 사용자의 지시를 해석해서 커널에 전달해주는 역할

 

✔ 쉘의 일반적인 예시

 1. GUI : 윈도우 쉘

 2. CLI : 터미널

 3. bash : Linux(서버) 환경에서 가장 많이 사용한다.


시스템 콜  |  System call

 - 운영체제는 응용 프로그램의 인터페이스를 제공하는 데 이를 시스템 콜이라 부른다.

 - 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공

 

✔ 시스템 콜 순서

   응용프로그램 -> API -> 시스템 콜(System Call)  -> 저장매체(HDD, SSD, ...)

 

✔ 코드 예시

 사용자모드에서 프로그램 실행 -> open() 시스템 콜 호출 -> 커널 모드 전환
 -> open() 함수를 처리하는 sys_open() 커널 함수 호출 -> 파일 열기의 low 레벨 연산 수행
 -> 사용자 모드 전환 -> open() 함수 이후의 프로그램을 계속해서 실행

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);

API

 - 응용프로그램이 운영체제의 기능을 사용하기 위한 함수나 라이브러리 형태이다.

 - API 내부에는 필요 시에 해당 운영체제의 시스템 콜을 호출하는 형태로 만들어진다.


운영체제 순서

 1. 운영체제 개발(Kernel)

 2. 시스템 콜 개발

 3. 시스템 콜 기반, 프로그래밍 언어 라이브러리 개발(API)

 4. Shell 프로그램 개발

 5. 응용프로그램(Application) 개발


커널 |  Kernel

 - 프로그램이 요청한 처리를 하드웨어에 나누어 처리 요구 및 시스템 콜을 수행한다.

 - 메모리 제어 등 운영체제에서 없어서는 안되는 요소이다.

 

✔ 시스템 콜 실행은 커널 모드로 실행

   - 커널 모드에서만 실행 가능한 기능들이 있기에, 실행하려면 시스템 콜을 사용해야한다.

   - 시스템 콜은 운영체제가 제공한다.

출처 : UNIX Operating System Overview


CPU 보호 링 |  CPU Protection Ring

 - CPU에서 악성 소프트웨어 및 버그로 인한 충돌로부터 커널을 보호하기 위한 기능이다.

✔ 권한 레벨

   - Level 0 : 커널

   - Level 1, 2 : OS 서비스

   - Level 3 : 응용프로그램

반응형

'Knowledge > CS지식' 카테고리의 다른 글

[OS] 운영체제의 개념  (0) 2023.09.16
[컴퓨터구조] 논리 회로와 불 대수 연산  (0) 2023.09.04

댓글