컴퓨터의 하드웨어를 관리하는 프로그램
응용 프로그램의 기초를 제공한다.
컴퓨터 하드웨어와 사용자 사이의 중개자 역할을 한다.
운영체제마다 작업 수행 방식이 다름
→ 메인프레임 운영체제: 하드웨어 활용도를 최적화하도록 설계됨
→ PC 운영체제: 복잡한 게임, 비즈니스 어플리케이션 등 지원
→ 모바일 운영체제: 사용자가 컴퓨터에 접속해서 프로그램을 쉽게 실행할 수 있는 환경을 제공
⇒ 어떤 운영체제는 편리하게, 어떤 운영체제는 효율적으로, 그리고 어떤 운영체제는 두 부분을 절충하여 설계되었다.
일반적인 정의는 '컴퓨터에서 항상 실행되는 하나의 프로그램(커널)' 이다.
커널: 운영체제의 핵심이 되는 프로그램. 일반적으로 운영체제와 커널은 동일시된다.
컴퓨터 시스템의 구조
하드웨어
→ 중앙처리장치(CPU), 메모리, IO 장치
→ 기본적인 컴퓨팅 리소스를 제공
응용 프로그램
→ 컴퓨터 자원을 사용하여 프로그램 사용자에게 각각의 기능을 제공함
운영체제
→ 하드웨어를 제어하고 응용프로그램들이 컴퓨터 리소스를 사용할 수 있도록 할당함
사용자
→ 응용프로그램을 사용
운영체제는 하나의 정부(government)와 같다.
정부처럼, 운영체제는 그것 자체로 유용한 기능을 수행하지는 못한다.
But 다른 프로그램들이 유용한 일을 할 수 있도록 환경을 제공해줌!
User View
→ 일반적으로 PC 사용자의 경우, 컴퓨터 앞에 앉아 키보드와 마우스를 조작한다. 이 경우 운영체제는 사용자가 컴퓨터 자원 사용을 신경쓸 필요 없게 도와준다.
→ 또 다른 경우, 사용자는 메인프레임에 연결된 터미널을 사용하거나 미니컴퓨터를 사용한다. 이 상황에서는 컴퓨터의 자원을 여러 사용자가 나눠쓰게 되는데, 운영체제는 사용자들이 자원을 공평하게 사용할 수 있도록 돕는다.
System View
→ 시스템에게 운영체제는 자원 할당자이다. 컴퓨터 시스템은 CPU 시간, 메모리 공간, 파일 저장소 공간, 입출력 장치 등 다양한 문제를 해결해야 한다.
→ 운영체제는 이러한 컴퓨터 자원들을 관리하는 제어 프로그램으로서 동작한다.
* Peter B. Galvin, Abraham Silberschatz, Greg Gagne의 operating system concepts 9th edition을 참고하여 작성하였습니다.