운영체제(OS) / kernel

About_work·2024년 2월 10일
0

cs 기초

목록 보기
20/38

1. 운영체제(OS)

  • 컴퓨터 하드웨어(예: CPU, 메모리, 디스크)를 관리하고 제어
  • 사용자와 컴퓨터 하드웨어 사이에서 중재자 역할을 하며, 컴퓨터의 모든 기본적인 작업들을 관리

운영 체제의 역할

  1. 하드웨어 관리: 예를 들어, 여러 프로그램이 동시에 메모리를 요청할 때, 운영 체제는 이를 조정하여 각 프로그램에 적절한 메모리 공간을 할당

  2. 프로그램 실행:

  • 운영 체제는 사용자나 다른 소프트웨어로부터 받은 명령을 바탕으로 프로그램을 실행
  • 프로그램이 요구하는 자원(메모리, 처리 시간 등)을 제공
  1. 사용자 인터페이스 제공:
  • 사용자가 컴퓨터와 소통할 수 있는 인터페이스(예: 그래픽 사용자 인터페이스(GUI), 명령줄 인터페이스(CLI))를 제공
  • 이를 통해 사용자는 컴퓨터에 명령을 내리고, 프로그램을 실행할 수 있음
  1. 파일 시스템 관리:
  • 운영 체제는 컴퓨터에 저장된 파일과 폴더를 관리
  • 사용자가 파일을 저장하거나 찾을 때, 운영 체제는 이를 가능하게 해주는 역할
  1. 장치 관리:
  • 운영 체제는 컴퓨터에 연결된 주변 장치(프린터, 마우스, 키보드 등)를 관리하고, 이들 장치가 제대로 작동할 수 있도록 돕습니다.

예시

  • 유닉스: https://velog.io/@jk01019/UNIX
  • Windows: 가장 널리 사용되는 운영 체제 중 하나로, 개인용 컴퓨터에서 많이 사용됩니다.
  • macOS: 애플(Apple)의 컴퓨터에서 사용되는 운영 체제입니다.
  • Linux: 무료이며 오픈소스인 운영 체제로, 서버와 개인용 컴퓨터 양쪽에서 사용됩니다.
  • Android, iOS: 각각 구글과 애플의 스마트폰 및 태블릿에서 사용되는 운영 체제입니다.

2. kernel

2.1. 운영체제의 커널

  • 커널
    • 하드웨어(예: CPU, 메모리, 디스크)와 소프트웨어 사이의 다리 역할
    • 시스템 자원을 효율적으로 관리하고, 다양한 소프트웨어 프로그램이 하드웨어 자원을 공정하게 사용할 수 있도록 함
  • 커널의 주요 역할
    • 자원 관리: 컴퓨터의 CPU 시간, 메모리 공간 등의 자원을 관리하고 배분
    • 하드웨어 추상화: 다양한 하드웨어 장치를 일관된 방법으로 소프트웨어에 제공하여, 프로그래머가 각각의 하드웨어에 대해 구체적으로 알 필요 없이 프로그래밍할 수 있게
    • 시스템 보호: 다른 프로그램이나 사용자가 시스템을 잘못 사용하는 것을 방지

2.2. 사용자 공간 (user space)

2.2.1. 예시

  • 커널은 도시의 기반 시설과 같습니다(예: 전기망, 상수도, 도로 등).
    • 이 기반 시설은 도시의 모든 활동을 가능하게 하며, 모든 것을 연결하고 제어
  • 반면, 사용자 공간은 도시에서 사람들이 살고 일하며 활동하는 공간
    • 사람들은 기반 시설을 사용하여 일상생활을 하지만, 그것을 직접 관리하거나 제어하지는 않습니다.
profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글