오늘은 운영체제 OS에 대해서 학습했다. 운영체제는 OS Operating System으로 하드웨어와 소프트웨어 그리고 사람을 연결해주는 프로그램이다. 운영체제는 사용자의 관점과 시스템의 관점으로 나눠서 살펴볼 수 있다.
먼저 사용자의 관점에서 보자면 운영체제는 사용자가 하드웨어를 쉽게 원하는대로 사용할 수 있도록 돕는다. 그리고 컴퓨터 자원 사용을 신경쓰지 않게 돕는다. 컴퓨터에 여러 사용자가 계정이 있는 경우 메모리 자원을 잘 분배해서 사용할 수 있게 도와준다.
운영체제는 자원을 할당해주는 역할을 한다. CPU, 메모리공간, 파일 저장소 공간, 입출력장치등 여러 다양한 문제들을 관리하고 조율한다. 입출력 장치는 디바이스 드라이버들을 통해서 관리하고 cpu와 메모리도 사용자 프로그램이 모든 공간을 사용하지 않게 적절하게 메모리를 분배해준다. 그리고 응용 프로그램을 감사하는 역할을 한다. 이렇게 하드웨어와 소프트 웨어 그리고 사용자의 중간에서 매개 역할로서 제어하는 프로그램이다.
과거에는 대부분의 컴퓨터는 싱글 프로세서 시스템을 사용했다. 싱글 프로세서는 하나의 프로세서, 프로그램을 실행할 수 있는 하나의 프로세서 시스템이라는 것이다. cpu 는 동시에 하나의 프로세스밖에 처리하지 못한다. 여러가지 일을 동시에 하는 것 처럼 보이는 이유는 그 처리하고 전환하는 스위칭 시간이 사람이 느끼지 못할 만큼 빠르기 때문에 동시에 진행되는 것처럼 보인다. 하나의 프로세서가 들어있는 컴퓨터는 동시에 하나의 프로세스를 진행하다. 그렇다면 두대의 컴퓨터는 당연하지만 한 컴퓨터에 하나씩 프로세스를 진행한다면 동시에 두가지일을 할 수 있다. cpu가 두개이기 때문이다.
오늘날 사용하는 멀티 프로세서 시스템은 2개 이상의 프로세서를 가지고 있다. 멀티 프로세서가 가진 장점을 보면
처리량의 증가
당연하지만 프로세서가 늘어나면 컴퓨팅 파워가 늘어서 수행시간이 잛아진다.
규모의 경제
동시에 프로세스가 두개 있는데 하나의 컴퓨터에 두개 프로세스가 들어있는 것과 두대의 컴퓨터를 가지고 있는 것은 주변장치나 전기요금에도 차이가 난다.
신뢰성의 증가
하나의 프로세서가 작동하지 않아도 전체시스템은 느려지긴 하지만 멈추지 않는다. 성능이 저하함으로써 작업을 유지하는 시스템을 장애 허용시스템이라고 한다.
많이 들어봤고 사용해왔지만 잘은 몰랐던 운영체제에 대해서 이런 것이구나 하는 감을 잡은 것 같다. 운영체제는 너무 많은 분량의 지식이 모인 프로그램이기 때문에 개략적인 구성만 살펴봤다. 이런 프로그램을 만드는 사람들이 대단하다과 생각했다. 운영체제에 대한 부분도 조금씩 경험이 쌓일때마다 더 공부를 해야겠다.