728x90
운영체제 (Operating System)
- 일반 컴퓨터나 노트북의 전원을 켜면 가장 먼저 만나게 되는 소프트웨어
- 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어
- 하드웨어 전체를 관리하는 소프트웨어
- 운영체제 종류
- 컴퓨터용 운영체제
- 개인용 : 윈도우, Mac OS
- 대형 컴퓨터 : 유닉스, 리눅스
- 모바일 운영체제 : iOS, 안드로이드
- 임베디드 운영체제 : CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제
운영체제의 역할
- 자원관리
- 컴퓨터 자원 (computer resource) : 컴퓨터에 부착된 모든 장치
- 운영체제는 자원을 적절히 응용 프로그램에게 배분/회수하여 사용자가 원활히 작업할 수 있도록 도움
- 자원 보호
- 비정상적인 작업으로부터 컴퓨터 자원 보호
- 하드웨어 인터페이스 제공
- 인터페이스 (interface) : 사용자가 컴퓨터를 사용할 수 있도록 해주고 그 결과를 알려주는 것
- 드라이버 : 하드웨어 장치와 상호작용하기 위해 만들어진 컴퓨터 프로그램
- = 장치 드라이버, 디바이스 드라이버, 장치 제어기, 소프트웨어 드라이버
- 운영체제는 하드웨어 인터페이스(=드라이버)가 자동으로 설치되게 하여 CPU, 메모리, 키보드, 마우스 등 하드웨어의 종류에 상관없이 사용할 수 있게 해줌
- 사용자 인터페이스 제공
- 사용자가 운영체제를 편리하게 사용하도록 지원하기 위한 것
- GUI 환경에서 마우스, 터치스크린 적용하여 터치 기능 제공 등
운영체제의 목표
- 효율성
- 자원을 효율적으로 관리하는 것
- 적은 자원을 사용하여 결과를 더 빨리 보여주는 것
- 운영체제의 크기를 최소화하고 운영체제가 사용하는 코드를 최적화해야함
- 안정성
- 사용자와 응용 프로그램의 안전 문제와 하드웨어적인 보안 문제를 처리할 수 있어야 함
- 결함 포용 (fault tolerant) : 시스템에 문제가 발생했을 때 이전으로 복구하는 기능
- 확장성
- 다양한 시스템 자원을 추가하거나 제거하기 편리해야 함
- 플러그 앤드 플레이 (plug & play) : 하드웨어의 종류에 상관없이 꽂으면 바로 실행
- 편리성
- 사용자가 편리하게 작업할 수 있는 환경 제공
- 응용 프로그램과 사용자에게 다양한 편리성을 제공하면서 자원의 낭비 요소를 막아야 함
그 밖의 관련 용어
- 일괄 작업/처리 시스템 (batch job/processing system)
: 모든 작업을 한꺼번에 처리하고 프로그램 실행 중간에 사용자가 데이터를 입력하거나 수정할 수 없는 시스템 - 대화형 시스템 (interactive system)
: 프로그램 진행 도중 사용자로부터 입력받거나 중간 결과값을 사용자에게 보여줄 수 있는 시스템
- 시분할 시스템 (time sharing system)
: 여러 작업을 조금씩 처리하여 작업이 동시에 이루어지는 것처럼 보이는 시스템 - 실시간 시스템 (real-time system)
: 일정 시간 안에 작업이 처리되도록 보장하는 시스템
- 분산 시스템 (distributed system)
: 네트워크 상에 분산되어 있는 여러 컴퓨터로 작업을 처리하고 그 결과를 상호 교환하도록 구성한 시스템,
시스템에 참가하는 모든 컴퓨터가 동일한 지위이기 때문에 작업을 분배하고 결과를 모으기 쉽지 않다는 단점 - 클라이언트/서버 시스템 (client/server system)
: 분산 시스템의 단점을 해결한 기술,
작업을 요청하는 클라이언트와 거기에 응답하여 요청받은 작업을 처리하는 서버의 이중구조, 서버 과부화 단점 - P2P 시스템 (Peer-to-Peer system)
: 서버의 부하를 줄일 수 있는 시스템,
peer(말단 노드, 사용자의 컴퓨터) 간에 서버를 거치지 않고 직접 연결, 예시 - 블록 체인 (block chain)
728x90
'CS > Operating System' 카테고리의 다른 글
[OS] 프로세스 간 통신 (0) | 2021.12.05 |
---|---|
[OS]CPU 스케줄링 알고리즘 (0) | 2021.12.02 |
[OS] CPU 스케줄링 (0) | 2021.12.02 |
[OS] 스레드 (0) | 2021.11.02 |
[OS] 프로세스 (0) | 2021.11.02 |
댓글