운영체제 : 컴퓨터의 전반적인 운영을 제어하는 소프트웨어
- 사용자가 파일을 저장하거나 불러올 수 있는 수단 제공
- 사용자가 프로그램 실행을 요청할 때 사용할 수 잇는 인터페이스 제공
- 요청된 프로그램을 실행하기 위한 환경 제공
3.1 운영체제의 발전
운영체제는 작게 출발하였지만 오늘날에는 크고 복잡한 소프트웨어가 되었다.
운영체제는 프로그램 준비 작업을 쉽게 만들고 작업들 사이의 전환을 단순화시키기 위한 시스템으로 출발
초창기 운영체제에서 개발된 중요한 기능의 하나는 사람들이 컴퓨터실을 드나들 필요가 없도록 사용자와 장비를 분리시킨 것이다.(일괄처리의 효시)
이를 위해 컴퓨터 운영을 전담하는 컴퓨터 운영자가 고용되었다.
실행되는 프로그램이 원격 단말기를 통해 사용자와 대화할 수 있게 해주는 새로운 운영체제들이 개발되었는데, 이러한 기능을 대화식 처리라고 부른다.
성공적인 대화식 처리에 핵심적인 것은 사용자가 기다리지 않도록 컴퓨터의 동작이 충분히 빨라야 한다는 것이다.(실시간 처리)
컴퓨터가 작업을 실시간으로 수행한다는 표현은 컴퓨터가 작업을 충분히 신속하게 처리함으로써 외부의 실제 환경에서 일어나는 활동을 쫓아갈 수 있음을 의미한다.
동시에 여러 사용자에게 서비스를 제공할 수 있도록 운영체제를 설계했는데 이를 시분할 방식이라고 한다.
시분할 방식을 구현하는 한 가지 방법은 멀티프로그래밍이라는 기법을 적용하는 것이다.
시분할 방식은 다수의 사용자가 동일 컴퓨터를 공유하고 있음을 가리키는 반면, 멀티태스킹은 한 명의 사용자가 동시에 여러 작업을 실행시키고 있음을 가리킨다.
운영체제는 프로그램을 한 번에 한 개씩 불러와서 실행시키는 단순한 프로그램에서 시분할을 조정하고, 컴퓨터의 대용량 저장 장치에서 프로그램과 데이터 파일을 유지하며, 컴퓨터 사용자의 요청에 직접 응답하는 복잡한 시스템으로 발전해왔다.
부하 균형 : 작업들을 여러 프로세서에 잘 할당하여 프로세서들을 효율적으로 사용하는 것
스케일링 : 작업을 이용 가능한 프로세서의 수에 맞추어 작은 작업으로 분할하는 것
3.2 운영체제의 구조
컴퓨터 소프트웨어를 응용 소프트웨어와 시스템 소프트웨어로 나눠볼 수 있다.
응용 소프트웨어는 컴퓨터를 이용하는 작업을 수행하기 위한 프로그램들
시스템 소프트웨어는 컴퓨터 시스템들에 공통된 작업들을 수행
시스템 소프트웨어는 응용 소프트웨어가 필요로 하는 환경 제공
시스템 소프트웨어를 나누면 운영체제와 유틸리티 소프트웨어라고 불리는 소프트웨어들의 집합이다.
유틸리티 소프트웨어는 운영체제의 기능을 확장시켜주는 소프트웨어들
사용자 인터페이스 : 컴퓨터 사용자들이 요청하는 동작들을 수행하기 위해서는 운영체제가 사용자들과 대화할 수 있어야 하는데 이러한 소통을 다루는 운영체제 요소
최근의 시스템들은 파일이나 프로그램과 같이 처리 대상이 되는 항목들을 디스플레이에서 아이콘 등과 같이 그림으로 표시하는 그래픽 사용자 인터페이스를 사용
윈도우 관리자는 윈도우라고 불리는 화면상의 공간을 할당하고 어느 응용 프로그램이 각 윈도우에 연계되어 있는지를 추적하는 기능 수행
운영체제의 내부 요소 : 커널
파일 관리자는 컴퓨터의 대용량 저장장치 이용을 관장하는 것
운영체제 외의 다른 프로그램의 파일 접근은 파일관리자의 감독을 받는다.
장치 관리자 : 컴퓨터에 연결된 주변장치에 동작들을 수행하기 위해 제어기와 통신하거나 또는 주변장치와 직접 통신하는 프로그램
메모리 관리자 : 컴퓨터의 주기억장치 사용을 관장
'ETC > CS' 카테고리의 다른 글
OAuth에 대한 정리 (0) | 2024.06.24 |
---|---|
<컴퓨터 구조론> 정리 4 (0) | 2023.12.13 |
<컴퓨터 구조론> 정리 3 (1) | 2023.12.06 |
<컴퓨터 구조론> 정리 2 (2) | 2023.12.05 |
<컴퓨터 구조론> 정리 1 (0) | 2023.12.01 |