운영체제 (1)
⭐️ 운영체제 (1)
커널이란?(⭐️중요)
커널은 운영 체제의 핵심 구성 요소로, 컴퓨터의 하드웨어와 소프트웨어 간의 인터페이스 역할을 합니다.
커널은 운영 체제의 핵심 기능을 제공하며, 시스템의 자원을 효율적으로 관리하고
프로세스 관리, 메모리 관리, 입출력 관리 등과 같은 기본적인 운영 체제 기능을 담당합니다.
커널은 주로 운영 체제의 하드웨어 추상화를 담당하며, 이는 응용 프로그램이 하드웨어에
직접 접근하지 않고도 운영체제를 통해 자원을 사용 할 수 있도록 합니다.
또한, 커널은 안정성과 보안을 유지하기 위한 역할을 수행합니다.
일반적으로 커널은 운영체제의 핵심 모듈로서 커널 공간에 위치하며, 이는 사용자 공간과 구분됩니다.
사용자 공간은 응용 프로그램이 실행되는 영역이며, 커널은 사용자 공간의 요청에 따라 작동하고
필요한 기능을 제공합니다.
주요한 운영체제들은 각각 자체적인 커널을 가지고 있습니다.
예를 들면, 리눅스 운영체제는 리눅스 커널을 사용하고,
Windows 운영체제는 Windows 커널을 사용합니다.
그렇기에 운영체제가 제공하는 기능은 다양하지만, 핵심적인 서비스는 공통적으로 존재합니다.
예를 들어 자원에 접근하고 조작하는 기능, 프로그램이 잘 작동하도록 도와주는 것
이러한 커널은 운영 체제의 구체적인 동작 방식과 기능에 영향을 미치며,
운영 체제의 성능과 안정성을 결정하는 중요한 요소입니다.
🌙 운영체제에 속하지만 커널에는 속하지 않는 기능?
- 유저 인터페이스 (UI: User Interface)
사용자와 컴퓨터 간의 통로일 뿐, 커널은 아니다.
🌙 이중 모드란?
커널 이중모드는 운영 체제에서 실행되는 커널이 사용자 모드와 시스템 모드(또는 커널 모드)
두 가지 모드에서 동작하는 것을 말합니다.
커널은 운영 체제의 핵심 부분으로, 하드웨어와 소프트웨어 간의 상호 작용을 담당하고
시스템의 자원 및 작업 관리를 수행합니다.
사용자 모드는 응용 프로그램이 실행되는 환경으로, 사용자 프로세스가 해당 모드에서 동작합니다.
사용자 모드에서 실행되는 프로세스는 제한된 자원과 권한을 갖고 있으며,
커널에 직접적으로 접근할 수 없습니다.
이 모드에서는 응용 프로그램들이 작업을 수행하고, 사용자와의 상호 작용을 담당합니다.
반면에 시스템 모드(커널 모드)는 운영체제 커널이 실행되는 환경입니다.
시스템 모드에서 커널은 더 높은 권한과 자원에 접근할 수 있으며,
하드웨어 자원과 다른 프로세스들 간의 상호 작용을 관리합니다.
커널은 운영체제의 중요한 기능을 수행하기 위해 시스템 모드에서 실행되며,
사용자 모드에서 실행되는 응용 프로그램들에 대한 서비스를 제공합니다.
커널 이중모드는 사용자 모드와 시스템 모드 간의 전환을 통해
안전하고 효율적인 운영체제의 동작을 가능하게 합니다.
사용자 모드에서 실행되는 프로세스들은 자원과 보안을 보호받으면서 응용 프로그램을 실행하고,
필요한 서비스를 요청할 수 있습니다.
이 때 커널은 시스템 모드에서 해당 요청을 처리하고,
필요한 작업을 수행한 후에 다시 사용자 모드로 전환됩니다.
이러한 커널 이중모드의 사용은 운영체제의 안정성과 보안을 강화하며,
응용프로그램과 하드웨어 간의 효율적인 상호작용을 가능하게 합니다.
🌙 시스템 호출이란?
커널 모드로 전환하여 실행하기 위해 호출, 일종의 소프트웨어 인터럽트
운영체제 서비스를 제공받기 위해 커널 모드로 전환하는 방법
🌙 운영체제의 핵심 서비스
- 프로세스 관리
프로세스 == 실행중인 프로그램
수많은 프로세스들을 상황에 맞게 관리
- 자원 접근 및 할당
CPU, 메모리, 입출력 장치
- 파일 시스템 관리