운영체제
운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이다.
운영체제의 구조
1. 단일 구조
- 장점: 커널 내 모듈간 직접 통신
- 단점: 커널의 거대화 -> 오류 및 버그, 추가기능 구현 등 유지보수가 어려움
2. 계층 구조
- 장점: 모듈화, 설계 및 구현의 단순화
- 단점: 단일 구조 대비 성능이 저하
운영체제의 구분
1. 단일 사용자 시스템
가. Windows
나. Android
2. 다중 사용자 시스템
가. Unix
나. Linux
운영체제의 종류
1. 단일 작업 시스템(Single-Tasking System)
하나의 프로그램 실행을 마친 뒤에 다른 프로그램 생성
가. DOS
나. CMD
2. 다중 작업 처리 시스템(Multi-Tasking System)
동시에 여러 작업(프로세스)을 수행할 수 있음
가. Windows
나. Unix
다. Linux
운영체제의 역할
1. 프로세스, 기억장치, 입출력장치, 파일 및 정보 등의 자원을 관리한다.
2. 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공한다.
3. 사용자와 시스템간의 편리한 인터페이스를 제공한다.
4. 시스템의 각종 하드웨어와 네트워크를 관리, 제어한다.
5. 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공한다.
6. 시스템의 오류를 검사하고 복구한다.
7. 입출력에 대한 보조기능을 제공한다.
운영체제 주요 자원관리
1. 프로세스 관리
프로세스: 커널에 등록된 실행 단위 (실행 중인 프로그램)
가. 프로세스 관리 기능
1) 생성과 제거
2) 자원 할당
3) 프로세스 간 통신 및 동기화
4) 교착상태 해결
나. 프로세스 스케줄링 및 동기화 관리 담당
2. 메모리 관리
메모리: 주기억 장치
가. 프로세스에게 메모리 할당 및 회수 관리
3. 입출력 관리
가. 입출력 장치 스케줄링 및 전반적인 관리
4. 파일 관리
가. 파일 및 디렉토리 생성 및 삭제
나. 파일 및 디렉토리 변경 및 유지
운영체제 작업방식
1. 순차처리
가. 사용자가 기계어로 직접작성 ex)천공카드
나. 실행하는 작업별로 순차처리
다. 작업에 대한 준비시간이 필요
2. 일괄처리(Batch system)
가. 사용자의 요청작업을 일정시간 모아두었다가 한번에 처리
나. 처리효율 향상, 생산성 저하
3. 시분할 시스템
가. 프로그램마다 시간을 나눠 실행을 하는 시스템
나. 자원을 동시에 사용함
다. 응답시간 단축, 생산성 향상, 통신 비용 증가
라. 개인 사용자 체감 속도 저하
4. 개인 시스템
가. 개인이 시스템을 독점
나. 생산성 향상, 통신 비용 증가
다. 개인 사용자 체감 속도 저하
5. 병렬 처리 시스템
가. 단일 시스템 내에서 둘 이상의 프로세서(CPU) 사용
나. 동시의 둘 이상의 프로세스 지원
다. 성능향상, 신뢰성 향상
6. 분산 처리 시스템
가. 네트워크를 기반으로 구축한 병렬 처리 시스템 ex) 슈퍼컴퓨터, 클러스터
나. 높은 성능, 높은 신뢰성
다. 구축 및 관리가 어려움
<참고자료>
https://www.youtube.com/watch?v=EdTtGv9w2sA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN
<Computer structures> chapter 5, 운영체제 end>
'CS(Computer science) > 컴퓨터 구조&운영체제' 카테고리의 다른 글
스레드 (0) | 2020.01.06 |
---|---|
프로세스 스케줄링 (0) | 2020.01.06 |
프로세스 관리 (0) | 2020.01.05 |
시스템 버스 (0) | 2020.01.02 |
하드웨어(Hardware) (0) | 2020.01.02 |