커널
- 운영 체제의 핵심 부분
- 하드웨어와 응용 프로그램 간의 상호 작용을 관리
- 시스템 리소스에 대한 접근을 조정
- 커널은 컴퓨터의 부팅 과정에서 가장 먼저 실행
- 주요 기능을 제공하고 시스템의 안정성과 보안을 유지
- 대부분 C나 어셈블리 언어로 작성
- 다양한 하드웨어 아키텍처와 호환되도록 설계됨
커널의 주요 역할 💡
- 프로세스 관리: 프로세스 스케줄링, 프로세스 생성 및 소멸, 프로세스 간 통신 관리 등을 수행합니다.
- 메모리 관리: 메모리 할당 및 해제, 가상 메모리 관리, 페이지 교체 등을 관리하여 프로세스가 메모리를 효율적으로 사용할 수 있도록 합니다.
- 파일 시스템 관리: 파일 및 디렉터리 생성, 삭제, 읽기, 쓰기 등의 파일 시스템 작업을 제공합니다.
- 장치 드라이버 관리: 하드웨어 장치 드라이버를 관리하고 하드웨어와의 상호 작용을 가능하게 합니다.
- 보안 및 권한 관리: 시스템 자원에 대한 접근 권한을 관리하며, 보안 기능을 제공합니다.
쉘
- 사용자와 운영 체제 간의 인터페이스 역할을 하며, 사용자의 명령을 해석하고 실행함
- 사용자의 명령을 받아들여 해당 명령을 운영 체제에 전달하고, 실행 결과를 사용자에게 보여줌
- 대부분 명령 줄 인터페이스(CLI) 형태로 제공되나, 그래픽 사용자 인터페이스(GUI)를 통해 작동하는 경우도 있음
- 주로 스크립트 언어로 작성되며, 사용자의 명령을 처리하는데 필요한 로직을 포함
- 명령의 구문 분석, 실행 파일 실행, 파이프라인 처리 등의 작업을 수행
- 흔히 사용되는 쉘에는 Bash, PowerShell, Zsh 등이 있으며, 이러한 쉘은 각각 다른 기능과 확장성을 제공
요약:
커널과 쉘은 운영 체제의 핵심 구성 요소로, 커널은 시스템 리소스 및 하드웨어 관리를 담당하며 C나 어셈블리 언어로 작성되며, 쉘은 사용자와 운영 체제 간의 상호 작용을 중재하며 스크립트 언어로 작성됩니다.
'CS > OS' 카테고리의 다른 글
[OS] CPU Protection Ring (0) | 2023.08.17 |
---|---|
[OS] 파일 시스템과 inode (0) | 2022.09.29 |
[OS] 가상 메모리와 페이징 시스템/요구 페이징과 페이지 폴트/MMU와 TLB (0) | 2022.09.29 |
[OS] 스레드/멀티 스레드/동기화/뮤텍스와 세마포어 (0) | 2022.09.29 |
[OS] 프로세스/컨텍스트 스위칭/IPC (0) | 2022.09.29 |