교육 코스 중에 발표에 걸려 OS의 정의와 리눅스에 대한 역사를 발표하게 되었다.
발표하면서 정리한 내용을 적어본다.
1. 운영 체제(Operating System)란?
운영체제는 하드웨어를 관리하기 위한 프로그램
하드웨어를 관리한다 :
주어진 하드웨어 자원이 소프트웨어 자원을 효율적으로 관리함으로써 사용자가 시스템을 편하게 이용하도록 하는 소프트웨어(OS 도 소프트웨어의 일종이다.)
운영체제의 기능
- 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등 관리
- 자원을 효율적으로 관리하기 위해 스케줄링 기능 제공
- 하드웨어와 네트워크 관리 및 제어
- 데이터 관리 및 자원 공유 기능
- 입출력 보조 기능 제공
- 시스템 검사 및 복구
운영체제의 목적
- 처리 능력 : 일정 시간 동안 수행되는 처리의 양
- 응답 시간 : 작업이 시작된 후 시스템에서 결과를 얻기까지 시간.
- 신뢰도 : 작업이 얼마나 정확하게 처리되었는가.
- 사용가능도 : 시스템이 얼마나 빠르게 사용할 수 있는가.
2. 운영체제의 기술 발전 과정
세대별 발전 과정
1세대 : 일괄 처리
2세대 : 다중 프로그램, 시분할, 다중처리, 실시간
3세대 : 다중 모드
4세대 : 분산 처리
0. 순차 처리
- 운영체제가 없던 시절의 컴퓨터는 디스플레이, 토글, 스위치, 입력장치, 프린터로 구성된 콘솔을 통해 운영되었다.
- 간략하게 컴퓨터는 모니터(컨트롤) 작업 순서를 제공받아 하나의 프로그램만 실행하고 다시 모니터로 복귀했다.
1. 일괄 처리 시스템
- 초기 컴퓨터 시스템에 사용된 형태
- 일정량 or 일정 기간 데이터를 모아 한번 처리한다.
- 처리에 대한 반환은 늦지만 하나의 작업이 모든 CPU를 사용함으로 CPU를 효율적으로 사용할 수 있었다.
- 주로 정산 업무에 사용되었다.
2. 다중 프로그램
- 입출력 장치와 CPU 사이의 속도 차이를 이용하여 여러 명령을 입력받고 CPU와 주기억장치(RAM)를 통해 여러 프로그램을 동시에 처리하는 방식.
- CPU가 쉬는 순간이 발생하면 운영체제가 다른 작업으로 전환하여 CPU의 효율을 높인다.
- CPU의 단점으로 사용량과 처리량이 늘어나게 된다.
3. 시분할 시스템
- 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아가며 처리함으로 여러 사용자가 독립 컴퓨터를 사용하는 느낌을 준다.
- 예를 들어 여러 프로세스를 실행중이라면 각 프로세스들은 프로세서(CPU)에 특정 시간을 배당받는다. 이를 시분할 시스템이라고 한다.(Context-Switching)
- CPU는 초당 매우 빠르게 처리가 가능하기에 여러 프로세스가 동시에 처리되는 느낌을 받는다.
- 시분할은 스케줄링으로 관리되며 스케줄링에는 아래와 같은 종류가 있다.
- FIFO (First In First Out) :
- 선입 선출
- 대화식 시스템에 부적합
- RR (Round Robin) 스케줄링 :
- FIFO 스케줄링에 우선순위를 부여하여 스케줄링 기법
- 프로세스는 FIFO 형태로 큐에 적재되지만 주어진 시간안에 작업을 마쳐야 하며 시간이 다 소비되고도 작업이 끝나지 않으면 다시 맨뒤로 간다.
- 등등.. 참고자료에 자세히 있음.. ㅋ
- FIFO (First In First Out) :
4. 다중처리 시스템
- 여러 CPU와 하나의 주기억장치를 이용해 여러 프로그램을 동시에 처리하는 방식 CPU가 하나 고장 나더라도 다른 CPU가 작업 수행
- 신뢰성과 안정성이 높다 여러 CPU가 하나의 메모리를 공유하여 단일 운영체제로 관리됨
- 처리 속도가 빠르지만 기억 장치, 입출력 장치에 대한 자원 공유 문제는 해결해야 한다.
예시) 2CPU 서버
5. 실시간 처리 시스템
- 데이터 발생 또는 데이터 처리 요구가 있는 즉시 처리하여 응답을 산출함
- 처리 시간이 단축되고 처리 비용이 절감됨
- 주로 은행의 온라인 업무와 같은 시간의 제한을 두어야 하는 작업에 사용됨
- 예시) 우주선 운행, 레이더 추적, 전화 교환 장치, 온라인 은행 업무 제어 등
6. 다중모드 처리
- 일괄 시스템, 시 분할 시스템, 다중 처리 시스템 , 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식
7. 분산 처리 시스템
- 여러 개의 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 동시에 처리하는 방식
- 데이터 처리 장치 및 DB가 분산 되어 물리적인 네트워크로 서로 결합되어 각자 노드에 해당하는 업무를 분담하여 수행한다.
참고 자료
https://computer-science-student.tistory.com/384
운영체제(OS, Operating System) - 정의, 종류, 기능, 목적
운영체제(OS, Operating System)란? 운영체제(OS, Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프
computer-science-student.tistory.com
운영체제의 기술 발전 흐름 총정리
컴퓨터 기능 및 기술의 발전으로 인하여 운영체제도 지속적으로 그 기능이 확장되고 있으며 현재에도 운영체제는 계속 발전하고 있습니다. 사용자 또는 시스템 관리자의 요구에 따라 새로운 서
chanelcocolover.tistory.com
'OS' 카테고리의 다른 글
리눅스의 역사 (0) | 2024.03.23 |
---|---|
운영체제의 종류와 리눅스의 계열 (1) | 2024.03.23 |
Thread(스레드) (0) | 2023.12.09 |
정규표현식 과 리눅스 명령어 (1) | 2023.12.08 |