OS란 Operating System의 약자로 컴퓨터를 켜면 가장 먼저 만나게 되는 소프트웨어
- 운영체제가 없는 기계 : 만들 당시 구현한 기능밖에 동작하지 않는다.
- 운영체제가 있는 기계 : 기능을 추가하여 성능을 향상시킬수있다.
1 ) 초창기 컴퓨터(1940년대)
최초의 컴퓨터 '애니악'
진공관으로 1과 0을 표현 2진법을 사용
2 ) 일괄 작업 시스템(1950년대)
천공 카드리더 : 현대 OMR의 원조로 구멍을 뚫어서 문자나 숫자를 표현
라인 프린터 : 문자만 출력하는 프린터로 한번에 한줄만 출력해서 라인프린터가 되었다.
3) 대화형 시스템(1960년대 초반)
키보드 - 타자기 쿼티(Querty)자판에 다양한 키를 추가해서 제작
모니터 - 단색 모니터
대화형 시스템(Interactive System)은 컴퓨터와 사용자 간의 대화를 통해서 작업이 이루어진다.
일괄 작업 시스템과 다르게 작업 중간에 결과 값을 보여줄 수 있다. 하지만 작업시간을 예측하기 어렵다.
4-1 ) 시분할 시스템(1960년대 후반)
다중프로그래밍 Multi Programming(= 시분할 시스템) 기술의 등장
시분할 시스템에서는 CPU 시간을 잘게 쪼개어 작업들에 나누어줌으로써 모든 작업이 동시에 처리되는 것처럼 보인다.
4-2)다중 사용자 시스템
다중 사용자는 여러명의 컴퓨터 사용자에 의한 동시 접근을 허용하는 것을 말한다.
이로 인해 값비싼 컴퓨터를 한 사람이 독점하는 것이 아닌 여러 사람이 동시에 사용할 수 있게 되었다.
5) 분산 시스템(1970년대 후반)
분산시스템 = 개인용 컴퓨터와 인터넷이 보급되면서 값싼 컴퓨터를 하나로 묶어 대형 컴퓨터에 버금가는 시스템
6) 클라이언트/서버 시스템(1990년대~현재)
클라이언트/서버 시스템은 분산 시스템의 문제점을 해결한 기술이다.
분산 시스템은 시스템에 참가하는 모든 컴퓨터가 동일한 지위여서 여러 문제가 생겼다.
클라이언트/서버 시스템은 동일한 지위가 아닌 작업을 요청하는 클라이언트와 응답하는 서버의 이중 구조로 나뉜다.
하지만 서버 과부하가 되면 서버 공급이 중단될 수도 있는 단점이 있다.
7) P2P 시스템(2000년대 초반~현재)
P2P 시스템은 서버 과부하의 문제가 적다.
왜냐하면 클라이언트와 서버가 아닌 사용자와 사용자가 직접 연결되어 있기 때문이다.
8) 클라우드 컴퓨팅
인터넷 접속을 통해 데이터 이동이 자유로운 컴퓨팅 환경
9) 사물 인터넷(IoT)
인터넷으로 연결된 사물들이 데이터를 주고 받아 스스로 분석하고 학습한 정보를 제공해준다.
프로세스 관리, 메모리관리, 저장장치 와같은 운영체제의 핵심적인 기능을 모아놓은것
시스템 호출 : 커널이 자신을 보호하기 위해 만든 인터페이스
드라이버 : 하드웨어를 담당
1.단일형 구조 커널
장점 : 모듈간 통신 비용이 줄어들어 효율적인 운영 가능
단점 : 모듈이 하나여서 오류처리 어려움 / 상호의존성이 높아 큰 오류 발생 확률 높음 / 다양한 환경의 시스템 적용 어려움
2.계층형 구조 커널
3.마이크로 구조 커널
4.가상 머신