이번 글은 이화여자대학교 반효경 교수님의 강의와 Abraham Silberschatz의「Operating Syetems Concepts」를 바탕으로 작성했음을 밝힙니다.
An operating system acts as an intermediary between the user of a computer and the computer hardware. It is software that manages the computer hardware. The purpose of an operating system is to provide an environment in which a user can execute programs in convenient and efficient manner
운영체제는 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다. 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공한다.
운영체제란, 컴퓨터 하드웨어 위에 바로 설치되어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층으로, 다른 응용프로그램이 유용한 작업을 할 수 있는 환경을 제공해줍니다.
운영체제의 종류에는 Windows, LINUX, UNIX, MS-DOS등 여러 가지가 있습니다.
단일 작업 처리 시스템에는 DOS, 다중 작업 처리 시스템에는 Windows, UNIX, LINUX등이 사용됩니다.
운영체제의 목표는 다음 두 가지가 있습니다.
1. 하드웨어하고 어떻게 interact를 해야 하는가
운영체제는 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공해주기 위해 여러 기능을 수행합니다.
대표적으로는 동시 프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공하고, 하드웨어를 직접 다루는 복잡한 부분을 대행합니다.
2. 사용자와 각종 소프트웨어들과 어떻게 interact 해야 하는가
운영체제는 여러 소프트웨어들과 상호작용을 하며, 컴퓨터 시스템의 자원을 효율적으로 관리하는 자원 관리자의 역할을 합니다. CPU, 기억 장치, 입출력 장치를 효율적으로 관리해 여러 소프트웨어들이 최대한 효과적으로 수행될 수 있도록 해 줍니다.
보통 컴퓨터에 여러 프로그램이 실행되면 너도 나도 CPU를 달라고 아우성이고, 자신이 메모리에 올라가야 한다고 주장하는 상황이 펼쳐집니다. 운영체제는 이같은 상황 하 CPU는 어떻게 할당할 것인지, 메모리는 누구에게 얼마나 할당할 것인지에 대한 정책적인 문제에 대해 여러 알고리즘을 통해 판단을 내립니다.
여기서 운영체제의 최우선적인 목표는 한정된 자원(CPU, 메모리 등) 을 얼마나 효율적으로 관리할 것이며, 얼마나 형평성 있게 할당을 할 것인지를 판단하는 것입니다.
https://ko.wikipedia.org/wiki/%EC%9A%B4%EC%98%81_%EC%B2%B4%EC%A0%9C
http://www.kocw.net/home/cview.do?cid=3646706b4347ef09
https://coding-factory.tistory.com/300
https://velog.io/@codemcd/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9COS-1.-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EB%9E%80