CS/OS

[OS] 커널(Kernel)과 쉘(Shell)

ryureeru 2023. 8. 17. 17:11

커널(Kernel)과 쉘(Shell)

 

 

 

 

 

커널

  • 운영 체제의 핵심 부분
  • 하드웨어와 응용 프로그램 간의 상호 작용을 관리
  • 시스템 리소스에 대한 접근을 조정
  • 커널은 컴퓨터의 부팅 과정에서 가장 먼저 실행
  • 주요 기능을 제공하고 시스템의 안정성과 보안을 유지
  • 대부분 C나 어셈블리 언어로 작성
  • 다양한 하드웨어 아키텍처와 호환되도록 설계됨

 

 


커널의 주요 역할 💡

  1. 프로세스 관리: 프로세스 스케줄링, 프로세스 생성 및 소멸, 프로세스 간 통신 관리 등을 수행합니다.
  2. 메모리 관리: 메모리 할당 및 해제, 가상 메모리 관리, 페이지 교체 등을 관리하여 프로세스가 메모리를 효율적으로 사용할 수 있도록 합니다.
  3. 파일 시스템 관리: 파일 및 디렉터리 생성, 삭제, 읽기, 쓰기 등의 파일 시스템 작업을 제공합니다.
  4. 장치 드라이버 관리: 하드웨어 장치 드라이버를 관리하고 하드웨어와의 상호 작용을 가능하게 합니다.
  5. 보안 및 권한 관리: 시스템 자원에 대한 접근 권한을 관리하며, 보안 기능을 제공합니다.

 

 

 

 


  • 사용자와 운영 체제 간의 인터페이스 역할을 하며, 사용자의 명령을 해석하고 실행함
  • 사용자의 명령을 받아들여 해당 명령을 운영 체제에 전달하고, 실행 결과를 사용자에게 보여줌
  • 대부분 명령 줄 인터페이스(CLI) 형태로 제공되나, 그래픽 사용자 인터페이스(GUI)를 통해 작동하는 경우도 있음
  • 주로 스크립트 언어로 작성되며, 사용자의 명령을 처리하는데 필요한 로직을 포함
  • 명령의 구문 분석, 실행 파일 실행, 파이프라인 처리 등의 작업을 수행
  • 흔히 사용되는 쉘에는 Bash, PowerShell, Zsh 등이 있으며, 이러한 쉘은 각각 다른 기능과 확장성을 제공

 

 

 

 

 

요약:

커널과 쉘은 운영 체제의 핵심 구성 요소로, 커널은 시스템 리소스 및 하드웨어 관리를 담당하며 C나 어셈블리 언어로 작성되며, 쉘은 사용자와 운영 체제 간의 상호 작용을 중재하며 스크립트 언어로 작성됩니다.