•
참고 강의
운영체제(Operating System, OS)
•
컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층
•
사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
•
모든 컴퓨터 시스템의 필수적인 부분
•
프로그램을 전체적으로 관리하는 통치자
(컴퓨터 하드웨어 + 운영체제) == 하나의 컴퓨터 시스템
사용자는 컴퓨터 하드웨어를 건드리지 않으면서 운영체제하고만 인터페이스해서 쉽게 컴퓨터를 사용 가능
다른 소프트웨어들도 하드웨어와 직접 접하기보다는 운영체제 관리를 받으면서 실행이 됨
좁은 의미의 운영체제(커널)
넓은 의미의 운영체제
운영체제의 목표
•
컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공(User Interface)
◦
어떻게 하드웨어와의 인터페이스 → 하드웨어 다루는 부분 대행
◦
어떻게 사용자, 각종 소프트웨어와의 인터페이스
→ 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상 제공
•
컴퓨터 시스템의 자원을 효율적으로 관리(자원 관리자 Resource Management)
◦
하드웨어 자원 : CPU(프로세서, 중앙 처리 장치), 메모리(기억장치), 각종 입출력 장치(I/O장치), 하드디스크(보조 기억 장치) 등
◦
소프트웨어 자원 : 프로세스, 파일, 메시지 등
◦
프로세서, 기억장치, 입출력 장치 등의 효율적 관리
◦
사용자 및 운영체제 자신을 보호
◦
어떻게 해야 한정된 CPU, 메모리를 가지고 가장 좋은 성능을 뽑아낼 수 있는가
◦
“여러 프로그램들이 공유해서 사용하는가, 분할해서 사용하는가”, 운영체제가 관리
•
형평성 관리
◦
특정 프로그램, 특정 사용자가 너무 차별을 받으면 안됨
CPU
Memory
컴퓨터 시스템안에 있는 하드웨어 자원들 == 이미 주어져 있는 자원
•
CPU가 초당 명령 몇개를 처리할 수 있는지, Memory가 몇GB인지
•
그 주어진 자원을 사용해서 최대한의 성능을 내도록 하는 것이 운영체제의 목적 → 자원 효율적 관리