0%

운영체제

운영체제란? OS(Operating System)

운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임입니다. 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해 줍니다.
주요 운영체제: 윈도우, 리눅스, UNIX 등

image-20200216211643366

운영체제는 사용자 인터페이스 제공: 쉘(shell)

사용자가 운영 체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램

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

시스템 콜 또는 시스템 호출 인터페이스
운영체제가 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공 API내부에는 시스템콜을 호출하는 형태로 만들어지는 경우가 대부분

운영체제를 만든다면?

운영체제를 개발한다.(kernel)
시스템 콜을 개발
프로그래밍 언어별 시스템콜 기반,라이브러리 개발(API)
프로그래밍 언어 기반 Shell프로그램 개발
프로그래밍 언어 기반, 응용 프로그램 개발

사용자 모드와 커널 모드

함부로 응용 프로그램이 전체 컴퓨터 시스템을 헤치지 못함

시스템콜은 커널 모드로 실행

커널 모드에서만 실행 가능한 기능들이 있음

커널 모드로 실행하려면, 반드시 시스템 콜을 사용해야 함(거쳐야 함) / 시스템 콜은 운영체제 제공

정리

  • 운영 체제는 시스템 콜 제공
  • 프로그래밍 언어별 운영체제 지원을 위해,운영체제 별 API제공
  • 응용 프로그램 개발시 운영체제 기능이 필요한 경우, 해당API를 사용해서 프로그램 작성
  • 응용 프로그램 실행시, 해당 API를 호출하면, 시스템 콜 호출,커널 모드로 변경 후, OS내부에서 해당 명령이 실행되고, 응용 프로그램에 결과 리턴