[운영체제] 00. 운영체제의 역할과 역사
운영체제의 역할
운영체제의 역할 1 : 시스템자원(System Resource) 관리
- 시스템자원(CPU, Memory, HDD, SDD, 키보드, 마우스와 같은 하드웨어)은 스스로 할 수 있는 것이 없음.
예를 들어 각각 프로그램에 얼마나 CPU를 사용하거나 메모리를 어디어 할당하는지 스스로 할 수 없다. 따라서 그러한 것들을 운영체제에서 지정해 주어야함.
운영체제의 역할 2 : 사용자와 컴퓨터간의 커뮤니케이션 지원
- 사용자(여러 입출력장치)와 컴퓨터의 여러 응용프로그램들의 적절한 상요작용을 위해 운영체제가 중간에서 제어한다.
운영체제의 역할 3 : 컴퓨터 하드웨어와 응용 프로그램을 제어
- 앞서 말한 시스템자원들과 여러 응용 프로그램들간의 상호작용에 있어, 운영체제가 사이에서 프로세스 관리, 주 기억장치 관리, 파일 관리, 디스크 관리, 네트워킹 보안 등의 여러가지 일들을 통해 제어한다.
운영체제와 응용프로그램간의 관계가 중요한 이유
응용프로그램에서 무한루프가 발생하거나 CPU를 과하게 사용하거나, 허락없이 다른 파일을 변경/삭제하는 일이 일어나는것을 막기위해 운영체제가 권한을 설정, 프로세스 관리 등의 역할을 한다. 즉, 운영체제는 응용프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고 지원하는 소프트웨어라고 볼 수 있다.
운영체제의 역사
1950년대
- 애니악의 탄생
- 운영체제가 아직 존재 하지 않음
- 따라서 응용프로그램이 시스템을 제어
1960년대
- 초반
- 배치 처리 시스템(batch processing system)을 기반으로 하는 운영체제 등장
배치 처리 시스템 : 여러 응용프로그램을 순차적으로 실행하는 시스템
- 후반
- 시분할 시스템 (time sharing system), 멀티 태스킹 (multi tasking) 개념 등장
CPU를 사용하는 시간을 잘게 쪼개서 여러 개의 응용프로그램을 동시에 실행(병렬실행)하는 기법 다중 사용자를 지원, 응답 시간을 최소화, 시간대비 CPU 활용도 최대화
1970년대
- C언어 기반의 UNIX OS 등장
현대 운영체제의 기본 기술을 모두 포함함(멀티테스킹, 시분할 시스템, 멀티 프로그래밍, 다중 사용자 지원)
1980년대
- 운영체제가 CLI(command line interface) 에서 GUI(graphical user interface)로 변화함 » 일반인들도 사용하기 편해짐
1990년대
- 강력한 응용 프로그램의 등장 (엑셀, 워드….)으로 사용자 증가
- 네트워크 기술의 발전(WWW)으로 인터넷 대중화
- 오픈소스 운동 활성화
LINUX 운영체제가 무료화와 오픈소스로 크게 성장함.
2000년대
- 오픈소스, 가상 머신, 대용량 병렬처리 등이 활성화 됨