운영체제란? 컴퓨터 하느웨어를 관리하는 프로그램이다.
1950년대 컴퓨터 'ENIAC'이 폰노이만에 의해 만들어 졌다. 기계어로 프로그래밍을 하던 시절 운영체제라는 개념이 없었다. 예로 출력, 저장 등 공통적인 기능들도 각 프로그램별로 다 짜야 하는데 이런 컴퓨터 하트웨어를 몰라도 쉽게 프로그램을 만들 수 있게끔 하는 기능들을 모아 프로그램을 만들어 준것이 운영체제의 시초이다. 프로그래머가 컴퓨터 하드웨어를 모르더라도 컴퓨터를 쉽게 만들 수 있도록 지원해주는 소프트웨어가 운영체제! 시간이 흐를수록 다양한 기능들이 더해져서 현재의 운영체제가 되었음
5계층 | 파일 관리 |
4계층 | 주변장치 관리 |
3계층 | 프로세스 관리 |
2계층 | 메모리 관리 |
1계층 | 프로세서 관리 |
--> 운영체제의 가장 핵심적인 역할을 하는 부분이 바로 커널인데, 이러한 운영체제 5계층이 커널에 포함된다.
커널?
프로세서관리, 메모리관리, 프로세스관리, 주변장치 관리, 파일관리, 인터럽트 처리 담당을 한다. 운영체제의 핵심. 소프트웨어와 하드웨어간의 커뮤니케이션을 관리하는 프로그램
운영체제에서 가장 중요한 구성요소로 입출력을 관리하고 소프트웨어로부터 요청을 컴퓨터에 있는 하드웨어가 처리할 수 있도록 요청을 변환하는 역할. 하트웨어를 관리하고 필요한 프로세스를 나눠주는 등 여러 시스템 자원을 제어하고, 컴퓨터 부팅시 부트로더에 의해 로드되어 항상 메모리에 상주하게된다.
쉘?
사용자와 운영체제간에 대화를 가능하게 해주는 명령어 해석기 역할.
사용자(명령) -> 쉘(해석) -> 커널(명령 수행 후 결과전송) -> 쉘(해석) ->사용자(결과확인)
인터럽트(Interrupt)?
컴퓨터에 장착된 장치나 컴퓨터 내의 프로그램으로부터 오는 신호로서 운영체계가 하던 일을 멈추가 다음에 무엇을 할것인지 결정하게 한다.
리얼모드 | 프로세서의 초기 상태로 16비트 모드로 동작 8086 프로세서와 호환되는 모드. 최대 1MB의 주소공간을 지원 |
보호모드 | 32비트 모드로 동작. 세그먼트,페이징,보호,멀티태스킹 등의 기능을 제공하는 모드. 4GB의 주소공간을 지원 |
IA-32e모드 | 32비트 호환 모드와 64비트 모드의 두 가지 서브 모드로 구성. 16EB의 주소 공간을 지원하는 모드 |
시스템 관리모드 | 전원 관리나 하드웨어 제어 같은 특수 기능을 제공하는 모드 |
가상 8060모드 | 보호 모드 내부에서 가상의 환경을 설정하여 리얼 모드처럼 동작하는 모드 |
리얼모드, 보호모드, IA-32e -> OS가 반드시 지원해야하는 세 가지 모드
일괄처리 시스템 : 작업을 모아서 처리, 사용자와 상호작용 없이 순차적으로 실행. 반환시간이 늦지만 하나의 작업이 모든 자원을 독점한다. 일괄처리를 위해 적절한 작업 제어 언어(Job Control Language)를 제공해야한다.;
시분할 시스템 : 일괄처리보다 반환시간 빠름. 이용자에게 즉각적인 피드백 제공. 여러명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아 가면서 처리해줌, 각 사용자들에게 독립된 컴퓨터를 사용하는 느낌을 줌.(Round Robin방식). 응답시간을 최대한 줄이는 것을 목적으로함
다중프로그래밍 시스템 : 하나의 CPU와 주기억 장치를 이용하여 여러개의 프로그램을 동시에 처리. 하나의 주기억장치에 두개 이상의 프로그램을 기억시켜 놓고, 하나의 CPU와 대화하면서 동시에 처리한다. CPU의 사용률과 처리량이 증가
다중처리 시스템 : 여러개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식. 하나의 CPU와 고장나더라도 다른 CPU를 이용하여 업무를 처리할 수 있으므로 시스템의 신뢰성과 안정성이 높다.
실시간 처리 시스템 : 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식. 처리시간이 단축되거, 처리 비용이 절감.
다중 모드 처리 : 일괄처리 시스템, 시분할시스템, 다중 처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식
분산처리 시스템 : 여러개의 컴퓨터(프로세서)를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식. 각 단말장치나 컴퓨터 시스템은 고유의 운영체제와 CPU, 메모리를 가지고 있다.