ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ 운영체제 ] OS, 그리고 커널과 쉘
    CS 지식 2023. 8. 17. 21:20

    운영체제란?

    • 운영체제란 : OS (Operating System) , 특정한 기능을 하는 하나의 프로그램이다. 
    • 주요 운영체제 : 윈도우, UNIX 계열 OS(리눅스), 맥OS
    • OS는 정확히는 커널(kernel)을 의미하지만, 사용자, 응용프로그램(application), 운영체제(kernel), 컴퓨터 하드웨어와 같이 커널에 여러가지가 추가된 상태를 OS라고 통칭하기도한다. 

    출처 :https://ko.wikipedia.org/wiki/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C , https://post.naver.com/viewer/postView.naver?volumeNo=32073536&memberNo=4146898

     

    운영체제는 사용자 인터페이스를 제공하고 있다. : 쉘

    • 쉘 (shell)
      • 커널(Operating System)만 제공해서는 사용자가 어떻게 사용해야할지 모르기 때문에 별도의 프로그램을 제공해서 사용자로부터 입력을 받아 커널이 그에 따른 동작을 할 수 있게금 하는 역할을 한다. 
      • 사용자가 운영체제 기능과 서비스를 조작하도록 인터페이스(ex 사용자가 어떻게 명령을 하면 프로그램을 실행시킬 수 있다. 라는)를 제공하는 프로그램. 일종의 응용프로그램임.
      •  사용자가 컴퓨터를 어떻게 써야되는지 사용법을 제공해주는 프로그램이라고 보면 된다. 
      • 쉘은 터미널 환경(CLI)GUI 환경 두 종류로 분류
      • 유명한 쉘:리눅스 bash

     

    운영체제는 응용 프로그램 인터페이스 제공 : 시스템 콜

    • 시스템 콜 (System Call)
      • 시스템 콜 또는 시스템 호출 인터페이스
      • 프로그램 만들때 커널에 요청이 필요할때 이 시스템콜이라는 요청을 통해서 구현이 됨. 
      • 운영체제가 운영체제 각 기능을 사요할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공

     

     

    프로그래밍 언터별 해당 운영체제에 맞는 API 구현

    • API (Application Programming Interface) 
      • 모호한 용어이지만, 간단히 함수 또는 라이브러리라고 이해하면 됨. 
      • 응용프로그램을 만들 수 있는 인터페이스를 API라고 한다. 
    • API 내부에는 필요시 해당 운영체제의 시스템콜을 호출하는 형태로 만들어짐. 

     

     

    운영체제를 만든다면 어떤 순서로 진행해야 할까?

    1. 운영체제를 개발한다. (kernel)
    2. kernel 기능을 사용자가 사용할 수 있도록 시스템콜을 개발한다.
    3. 시스템 콜 기반해서 프로그램이 동작할 수 있도록 언어를 지원하는 프로그래밍 언어별 라이브러리 개발 (API)
    4. 지원되는 프로그래밍 언어로 Shell 프로그램 개발
    5. 지원되는 프로그래밍 언어로 응용 프로그램 개발

     

    'CS 지식' 카테고리의 다른 글

    로드 벨런서란 ? (LB)  (0) 2023.09.19
    스케일 아웃(Sclae-out)과 스케일 업(Scale-up)의 차이  (1) 2023.09.19
    선언적 API란?  (0) 2023.05.29
    Docker의 Bash 컴플리션 스크립트란?  (0) 2023.05.23
    yum 이란?  (0) 2023.05.22

    댓글

SSOONTORY Blog.