운영체제의 개요
운영 체제란?
컴퓨터의 사용자와 하드웨어 사이의 중개자 역할을 해주는 프로그램
운영 체제의 역사
수작업 > 단일 프로그래밍 > 다중 프로그래밍 > & 시분할 > 모바일 OS & 실시간 시스템
운영체제의 목적
사용자가 컴퓨터를 편리하게 사용하는 것
컴퓨터 하드웨어가 효율적으로 사용되는 것
컴퓨터 시스템의 처리 구조
좋은 운영체제란?
사용자 관점 - 사용의 용이성에 중점, 자원 이용에 극대화에 중점
시스템의 관점 - 하드웨어와 친밀, 자원을 효율적으로 할당해주는 자원 할당자 역할을 하는 운영체제. 컴퓨터를 효율적이면서 공정하게 운영할 수 있도록, 요청에 따라 적절한 자원을 할당해주며 사용자의 입/출력을 제어합니다.
시스템의 발전
일괄처리시스템
초기의 컴퓨터가 동작하는 방식. 물리적으로 콘솔에서 수행하던 방식에서 사용하던 시스템. 초기의 운영체제는 즉시 데이터를 처리할 수 있는 여건이 되지 못하였다. 그 대안으로 일괄처리 시스템이 운영체제에 도입이 되었다. 이후 비슷한 것은 주기적으로 한 번에 묶어서 처리할 수 있게 되었다.
하지만 CPU 활용에 있어서 비효율적인 면모가 있었다. 기계적인 입/출력 장치의 속도가 CPU와 같은 전자장치의 속도보다 느리기 때문에 CPU가 계속해서 쉬는 상태 (idle)인 경우가 많았다고 한다.
다중 프로그램 & 시분할 시스템
따라서 일괄처리 프로그램의 단점을 보완하기 위해 나온 것. CPU가 수행할 작업을 항상 가지도록 하는 방식. 하드디스크나 SSD에서 여러 개의 프로그램을 선택해서 메인메모리 (RAM)에 적재합니다. 이후에 메모리 내에 있는 작업 중에서 하나를 선택해 차례대로 실행합니다. 이 떄 수행중인 작업이 입/출력 등 때문에 기다리는 상태에 도달하게되면 CPU는 다른 작업으로 넘어가서 작업을 수행합니다. 이후에 첫 번째 작업이 끝나면 현재의 작업을 중단하고 다시 첫번째 작업이 CPU를 차지하게 되는 형식.
시분할 시스템
다중 프로그래밍의 장점을 채택하여 확장한 시스템으로서 프로그램이 수행이 되고 있을 때 아주 짧은 주기로 CPU를 각각의 프로그램에 할당을 해 주는 방법. 시분할 시스템으로 사용자는 프로그램이 수행이 되고 있는 동안에도 상호작용 할 수 있게 된다. 아주 짧은 주기로 전환이 이루어지기 때문에 각 사용자는 모든 프로그램이 동시에 작동을 하고 있다고 보게 됩니다.
예시로 리눅스는 한 대의 컴퓨터에 여러 명의 사용자가 동시에 접속해서 서로 다른 처리를 할 수 있게 해주는데, 이는 시분할 시스템을 적절하게 사용한 예시이다.
작업 스케쥴링 : 보조 기억 장치에 프로그램이 저장되어 있고, 그 중 일부를 선택해서 메모리에 적재하는 전략.
CPU 스케쥴링 : 메모리에 올라온 작업들 중에서 무엇부터 실행할지 고르는 전략.
일괄처리 시스템은 상호작용이 필요없는 큰 단위의 작업들을 수행할 때 사용.
**참고
https://www.youtube.com/watch?v=EAoJb00Iwso&list=PLRx0vPvlEmdCpDmUS-azJTey03BE76eI_
'백엔드 > os 및 일반 지식' 카테고리의 다른 글
운영체제 - 입출력 구조, 저장장치 구조 (0) | 2022.08.06 |
---|---|
운영체제 - 다양한 시스템, 컴퓨터의 작동 과정 (0) | 2022.08.05 |
인터넷 (0) | 2022.03.18 |
컴퓨터 아키텍쳐와 운영체제 - 메모리 상의 데이터 배치, 프로그램 실행 (0) | 2022.03.02 |
컴퓨터 아키텍쳐와 운영체제- 메모리 계층과 성능, 코프로세서 (0) | 2022.03.02 |