운영체제란?
- 운영체제란 : OS (Operating System) , 특정한 기능을 하는 하나의 프로그램이다.
- 주요 운영체제 : 윈도우, UNIX 계열 OS(리눅스), 맥OS
- OS는 정확히는 커널(kernel)을 의미하지만, 사용자, 응용프로그램(application), 운영체제(kernel), 컴퓨터 하드웨어와 같이 커널에 여러가지가 추가된 상태를 OS라고 통칭하기도한다.
운영체제는 사용자 인터페이스를 제공하고 있다. : 쉘
- 쉘 (shell)
- 커널(Operating System)만 제공해서는 사용자가 어떻게 사용해야할지 모르기 때문에 별도의 프로그램을 제공해서 사용자로부터 입력을 받아 커널이 그에 따른 동작을 할 수 있게금 하는 역할을 한다.
- 사용자가 운영체제 기능과 서비스를 조작하도록 인터페이스(ex 사용자가 어떻게 명령을 하면 프로그램을 실행시킬 수 있다. 라는)를 제공하는 프로그램. 일종의 응용프로그램임.
- 사용자가 컴퓨터를 어떻게 써야되는지 사용법을 제공해주는 프로그램이라고 보면 된다.
- 쉘은 터미널 환경(CLI)과 GUI 환경 두 종류로 분류
- 유명한 쉘:리눅스 bash
운영체제는 응용 프로그램 인터페이스 제공 : 시스템 콜
- 시스템 콜 (System Call)
- 시스템 콜 또는 시스템 호출 인터페이스
- 프로그램 만들때 커널에 요청이 필요할때 이 시스템콜이라는 요청을 통해서 구현이 됨.
- 운영체제가 운영체제 각 기능을 사요할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공
프로그래밍 언터별 해당 운영체제에 맞는 API 구현
운영체제를 만든다면 어떤 순서로 진행해야 할까?
- 운영체제를 개발한다. (kernel)
- kernel 기능을 사용자가 사용할 수 있도록 시스템콜을 개발한다.
- 시스템 콜 기반해서 프로그램이 동작할 수 있도록 언어를 지원하는 프로그래밍 언어별 라이브러리 개발 (API)
- 지원되는 프로그래밍 언어로 Shell 프로그램 개발
- 지원되는 프로그래밍 언어로 응용 프로그램 개발