운영체제(OS, Operating System)는 사용자가 컴퓨터의 하드웨어 시스템을 효율적으로 운영하기 위한 소프트웨어이다. 컴퓨터를 작동하고 시스템 전체를 감시하며, 처리하여야 할 데이터의 관리와 직업 계획 따위를 조정하는 여러가지의 프로그램으로 구성되어있다. 즉, 운영체제는 컴퓨터 시스템을 관리하는 보스(boss)라고 할 수 있다. 주요 운영 체제로 Windows(윈도우), UNIX계열 OS(리눅스), MacOS가 있다.
OS는 더 정확히는 커널(kernel)
을 의미한다. 일반적으로 커널에 여러가지가 추가된 상태를, OS라고 통칭한다.
📍 OS별로 프로그램이 존재하는 이유
각 운영체제(OS)마다 독특한 구조와 기능을 가지고 있어, 동일한 프로그램을 모든 OS에서 사용할 수 없다. 따라서, 특정 운영체제에서 실행되는 프로그램은 해당 운영체제에서만 작동한다.
쉘(Shell)은 운영체제의 가장 바깥 부분에 위치하며, 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램이다. 유명한 쉘(Shell)로 리눅스 bash가 있다.
시스템 콜(System Call)은 커널 영역과 사용자 모드 사이의 인터페이스 역할을 한다.
운영체제는 커널 모드(Kernel Mode)
와 사용자 모드(User Mode)
로 나뉘어 있다. 파일을 읽어 오거나, 쓰기, 화면에 메세지 출력 등과 같은 많은 부분이 커널 모드를 사용한다. 시스템 콜(System Call)
은 커널 모드에서의 기능을 사용자 모드가 사용가능하게 해준다.
API는 다른 소프트웨어 애플리케이션에서 프로그래밍 가능한 인터페이스를 제공하는 도구나 서비스를 의미한다. 즉, API는 소프트웨어 애플리케이션 간의 상호작용을 가능하게 하는 방법을 제공한다.
참고
https://velog.io/@wlgus2134/운영체제의-특징운영체제의-종류
https://m.blog.naver.com/qbxlvnf11/221407973886
https://luckyyowu.tistory.com/133