운영체제(OS; Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다.
컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.
자원 : CPU, 주기억장치, 보조기억장치, 파일 및 정보들을 의미
프로세서, 주기억장치, 보조기억장치, 입출력장치, 파일 및 정보 등의 자원 관리
자원을 효율적으로 관리하기 위한 스케줄링 기능 제공
스케줄링 : 어떤 자원을 누가, 언제, 어떤 방식으로 사용할지 결정해주는 것
사용자와 시스템 간 인터페이스 제공
시스템의 각종 하드웨어, 네트워크 관리 및 제어
데이터 관리, 데이터 및 자원의 공유 기능 제공
시스템 오류 검사 및 복구
자원 보호 기능
입출력 보조 기능 제공
가상 계산기 기능 제공
*가상계산기는 한 대의 컴퓨터를 여러 대의 컴퓨터처럼 보이게 하는 가상 컴퓨터 운영체제의 의해 만들어지며, 사용자의 관점에서는 가상 컴퓨터가 실제 컴퓨터처럼 보일 수도 있고 아주 다르게 보일수도 있습니다.
프로세스(process)란 일반적으로 실행중인 프로그램을 의미한다.
- GUI는 키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 그래픽 사용자 인터페이스
- CLI는 키보드로 명령어를 직접 입력하여 작업을 수행하는 그래픽 사용자 인터페이스이며 CUI라고도 불린다.
- Kernel은 운영체계의 가장 중요한 핵심 부분으로 운영체제의 다른 모든 부분에 다양하고 기본적인 서비스를 제공하는 역할을 수행한다.
단일 처리 시스템에는 ms-dos
다중 처리 시스템에는 윈도우, 유닉스, 리눅스, 맥os 등이 사용된다.
윈도우, 맥os는 개인용
유닉스, 리눅스는 서버용 운영체제