운영체제의 정의
- 사용자 인터페이스를 제공
- CPU,메모리및 주변장치를 효율적으로 관리
- 프로그래밍 인터페이스(응용 프로그램이 동작가능한 환경)을 제공
운영체제의 목적
- 처리능력(Throughput)의 향상
- 응답시간(Turnaround)의 최소화
- 신뢰도(Reliability)의 향상
- 사용 가능도(Availability)의 향상
운영체제의 역할
- 하드웨어 제어, 입력, 출력등의 관리를 수행
- 다수의 이용자가 한정된 하드웨어자원을 공유할수있게한다.
- 자원스케줄링을 제공(프로세스, 메모리, CPU등의 자원용량을 효율적으로 사용)
- 시스템 호출을 제공(응용프로그램의 작성과 실행의 편리)
- 오류 복구 기능 제공
- 파일관리, 데이터베이스 기능제공
- 네크워크 기능 제공
- 사용자 인터페이스 제공
운영체제 구조
- 사용자는 응용프로그램,셸,GUI, 배치작업을 통해 기능을 사용
- 응용프로그램은 시스템 호출로 커널의 서비스를 사용
- 하드웨어 추상 계층으로 다양한 하드웨어에 대한 이식성 향상
운영체제의 기능
- 리소스 관리 기능 제공(프로세스, 메모리, 장치 I/O, 파일시스템)
- 자원 스케줄링 기능 제공
- 네트워크 제어 기능 제공
- 자원 공유 기능(데이터베이스,파일시스템)
- 자원 보호 기능
- 오류 검사 기능, 오류 복구 기능
- 가상화 기능(가상의 컴퓨터 여러대 실행)
운영체제 운용 기법 발달
일괄 처리 시스템
- 초기 운영체제 형태
- 여러 작업을 한번에 묶어서 처리
- 작업처리 중 시스템 이용x
- 자원 사용 비효율적
- 처리능력 최대화
다중 프로그래밍 시스템
- 하나의 작업이 입출력중 다른작업에 cpu를 할당
- CPU 하나로 여러 프로그램이 실행되는것처럼 보임
- 처리능력 최대화
시분할 시스템
- 응답/반응시간 단축
- 다중사용자 지원
- 타임슬라이스를 사용
- CPU 사용률, 처리량을 향상
- 다중 프로그래밍 시스템 보다 더욱 여러작업이 실행되는것으로 볼수있음
다중 처리 시스템(병렬 처리 시스템)
- 여러개의 CPU
- 비대칭적 다중 처리(프로세스간 주종관계)
- 대칭적 다중 처리(SMP,MPP)
실시간 처리 시스템
- 시간적 제약을 갖는 운용방식
- 경성 실시간 처리 시스템(엄격한)
- 연성 실시간 처리 시스템(덜 엄격한)
다중 모드 시스템
- 앞의 시스템을 혼용사용
분산 처리 시스템
- 독립적인 시스템간에 통신망 연결
- 각 시스템 자원을 공유하여 처리량,응답시간,가용량 극대화
- 약결합 방식(시스템들이 통신으로 연결,상호작용)
- 가상화 사용
운용체제 종류
데스크톱, 서버
- 윈도우
- macOS
- 리눅스
- 유닉스
모바일, 인베디드
- 안드로이드
- iOS
- 타이젠
- 임베디드 리눅스
IOT
- Linux
- Windows Iot
- RTOS
- 경량 OS
'Computer Science > Linux' 카테고리의 다른 글
[리눅스 마스터] 리눅스의 기초 (0) | 2024.06.11 |
---|---|
[리눅스마스터] 리눅스와 하드웨어 (0) | 2024.06.10 |
터미널(Terminal) (0) | 2024.03.10 |