생활 속 운영 체제
- Window, Mac Os, Android, iOS는 우리가 접할 수 있는 가장 대표적인 운영체제
- 컴퓨터
- 범용 컴퓨터 : 웹서핑, 문서 작성, 영화 감상 등 다양한 작업에 사용
- 임베디드 컴퓨터(임베디드 시스템) : 스마트 워치, 스마트 TV, 스마트 자동차 등에 탑재된 컴퓨터
- 특정 작업만 수행하도록 설계되어있으므로 CPU 성능이 낮고 메모리 크기가 작음
운영체제의 정의
한정된 컴퓨터 자원을 효율적으로 관리하는 소프트 웨어(Operating System)
- 사용자에게 인터페이스 제공
- 응용프로그램에 컴퓨터 자원을 골고루 배분
- 적당한 시점에 자원 회수
- 악의적인 응용 프로그램으로부터 컴퓨터 보호
- 운영체제는 하드웨어의 도움 없이 작동할 수 없음 → 하드웨어와 소프트 웨어의 특성을 모두 가진 펌웨어(firmware)라고 부름
하드웨어 : CPU, 메모리, 입력장치
소프트 웨어 : 하드웨어를 제어하여 작업을 수행시키는 명령의 모음, 프로그램(program)
- 응용 프로그램(application program) : 문서 작성을 위한 MS 워드, 동영상을 보여주는 곰플레이어처럼 특정 작업을 위해 사용하는 프로그램
- 시스템 소프트웨어(system software) : 컴퓨터 하드웨어와 응용 프로그램을 관리. 대표적인 시스템 소프트웨어로 운영체제와 유틸리티가 있다.
💡 소프트웨어 유틸리티
- 운영체제의 기능이 복잡해짐에 따라 운영 체제의 작업을 보조하는 소프트웨어
- ex. 바이러스 검사, 디스크 조각 모음, 압축 프로그램, 언어 번역 프로그램
컴퓨터 구조와 운영체제
- 운영체제는
커널과 인터페이스로 구분
- 커널 : 프로세스 관리, 메모리 관리, 저장 장치 관리 와 같은 핵심적인 기능 수행
- 인터페이스 : 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려줌
- 사용자나 응용 프로그램은 인터페이스를 사용해서 자원에 접근
운영체제의 역할
자원 관리 : 자원을 응용프로그램에 나누어 주어 사용자가 원활하게 작업 하도록 도움. 자원을 요청한 프로그램이 여러개일때 적당한 순서로 자원배분 후 적절한 시점에 자원 회수
자원 보호 : 악의적인 사용자나 미숙한 사용자에게서 자원 보호
하드웨어 인터페이스 제공
- 하드웨어를 일관된 방법으로 사용할 수 있도록 지원
- 디바이스 드라이버 : 장치 드라이버, 디바이스 드라이버, 장치제어기, 소프트웨어 드라이버 등
사용자 인터페이스 제공
운영체제의 목표
효율성(자원 관리), 안정성(자원 보호), 확장성(하드웨어 인터페이스), 편리성(사용자 인터페이스)을 강화
- 효율성
- 운영체제의 크기를 최소화 하고 운양체제가 사용하는 코드를 최적화 해야 함
- 안정성
- 시스템에 문제가 발생했을 때 이전으로 복구하는 결함 포용 기능을 수행해야 함
- 확장성
- 하드웨어 종류와 상관없이 사용할 수 있어야 함
- 편리성