[운영체제] Day 1 운영체제

빵코·2024년 4월 3일

📌 운영체제

  • 운영체제란 컴퓨터에 포함된 CPU나 메모리, 입출력 기기 등이 사용자에 기대에 맞게 역할을 수행할 수 있도록 도와주는 창구 역할을 하는 시스템 소프트웨어이다.
    따라서 운영체제를 '플랫폼 소프트웨어'라고 부르기도 한다.
    사용기기나 목적에 따라 필요한 운영체제의 유형이 달라 운영체제의 종류 또한 매우 다양하다.

📌 운영체제의 대표적인 역할들

- 프로세스 관리

  • 프로세스: 실행중인 프로그램 (실행중이 아니라면 프로세스가 아닌 그냥 파일, 프로그램)
    프로그램이 실행되면 프로세스 형태가 되고 운영체제가 따로 관리하는 프로세스들 만의 공간으로 이동하게됨. 운영체제는 이 프로세스가 컴퓨터에서 실행되고 있는 다른 프로세스와 충돌하지 않고 부드럽게 실행되도록 함. 프로세스가 사용할 메모리공간이나 데이터자원을 적절히 지원해줌으로 프 로세스를 관리. 실행이 종료되면 이제 프로세스 공간에서 벗어나 조용히 프로그램, 어떤 파일에 저장 되있는 형태가 됨.

- 메모리 관리

  • 컴퓨터 부품 중 메모리 존재, 메모리의 역할은 파일이나 프로그램, 데이터 등을 저장.
    운영체제는 사용자가 사용할 다양한 데이터를 이 메모리에 적절하게 배치시켜줌.
    컴퓨터에 있는 메모리는 책상서랍, 컴퓨터에 있는 데이터들은 책상위의 물건들, 운영체제는 책상 위의 물건들을 책상서랍에 알아서 정리해 주는 로봇이라고 볼 수 있다.

- 파일 시스템 관리

  • 파일은 디렉토리형태(폴더)로 관리되게 함, 이러한 관리체계를 파일 시스템이라고 함.

🧷 운영체제의 구조


<출처:유노코딩>

📌 커널

  • 운영체제는 하나의 프로그램이라고 볼 수 있고 핵심기능인 프로세스나 메모리, 저장장치를 관리하 는 기능을 커널 이라는 part가 제공한다. 따라서 핵심적이고 중요한 part여서 사용자가 직접 접근할 수는 없다.

  • 커널이 제공하는 핵심적인 기능을 사용하고 싶으면 사용자가 이를 요청할 수 있도록하는 함
    : CLI(command line interface) or GUI(graphic user interface)

    • GUI : 컴퓨터를 켰을 때 나오는 바탕화면 같은 것이 대표적인 GUI 라는 인터페이스 이다. 마우스로 클릭하고 이동함으로 이용 할 수 있게 하는 인터페이스 이다.

    • CLI : CLI는 텍스트로 된 명령어를 기반으로 커널과 상호작용하는 인터페이스 이다. 일반사용자들에 게는 친숙하지 않은 인터페이스이다. 예를들어, 맥북에서 터미널을 이용해 명령어로 상호작용 하는 것을 말한다.

  • 시스템 콜
    커널은 사용자로 부터 자신을 보호하기 위한 시스템 콜 이라는 인터페이스를 가지고 있다.
    어플리케이션이 컴퓨터의 자원에 접근할 때 위험성 없이 적절한 방법으로 작업을 실행 할 수 있도록 해주는 어플리케이션(응용프로그램)과 커널 간의 인터페이스 이다.
    예를들어, 프로그램 코드를 짤 때 커널에 직접적으로 접근하는 코드를 짜는 것이 아니라 커널 에서 정해준 함수만 이용할 수 있다.

  • 드라이버
    운영체제와 하드웨어 간의 인터페이스로 제공된다. 외부기기와 컴퓨터를 연결 했을 때 정상적 으로 사용되려면 운영체제(커널)이 지원을 해줘야 하는데, 외부기기 종류가 다양해서 커널이 이에대한 지원을 모두 갖추고 있지 않기 때문에 드라이버라는 인터페이스가 필요하다.

profile
빵먹으면서 코딩하는 개발자를 꿈꾸는 코린이

0개의 댓글