역할1: 시스템 자원(System Resource) 관리자
- Operating System(OS)라고 부름.
- 시스템 자원(System Resource) = 컴퓨터 하드웨어
- CPU (중앙처리장치), Memory(DRAM, RAM)
- I/O Devices (입출력장치)
- Monitor, Mouse, Keyboard, Network
- 저장매체: SSD, HDD (하드디스크)
컴퓨터가 꺼져도 저장되어 있는.
컴퓨터 하드웨어는 스스로 할 수 있는게 없다.
컴퓨터 하드웨어를 관리하는 소프트웨어가 운영체제이다.
- CPU: 각 프로그램이 얼마나 CPU를 사용할지 결정 못한다.
- Memory: 각 프로그램이 어느 주소에 저장되어야 하는지, 어느 정도의 메모리 공간을 확보해줘야 하는지 결정 못한다.
- 저장매체(HDD, SSD): 어떻게, 어디에 저장할지 결정 못한다.
- 키보드/마우스: 스스로 표시할 수는 없다.
그래서 운영체제가 필요하다. OS없는 컴퓨터는 작동이 안된다.
대표적인 운영체제
- Windows OS, Mac OS, 그리고 UNIX(유닉스)
(유닉스를 기반으로 윈도우나 맥의 운영체제가 만들어졌다.)
- UNIX OS
- UNIX계열 OS라는 용어 많이 쓴다.
- UNIX와 사용법이나, OS구조가 유사한 OS를 뜻한다.
- 예시로, LINUX(리눅스) OS
- 인터넷 서비스를 구동시키는 서버(환경)에 사용된다.
역할2: 사용자와 컴퓨터간의 커뮤니케이션 지원
- 사용자 ⇄ OS ⇄ 컴퓨터
- 사용자는 운영체제를 사용하여 컴퓨터에 자원에 접근한다.
역할3: 컴퓨터 하드웨어와 프로그램을 제어
응용 프로그램이란?
- 프로그램 = 소프트웨어
- 소프트웨어 = 운영체제, 응용 프로그램(엑셀, 파워포인트, 등등)
- 응용 프로그램 = Application(일반 PC에서의 프로그램) = App(스마트폰에서의 응용 프로그램) 이라고 자주 쓰인다.
운영체제와 응용 프로그램간의 관계
- 운용체제는 응용 프로그램을 관리
- 응용 프로그램을 실행시킨다.
- 응용 프로그램간의 권한을 관리 해준다.
- 응용 프로그램을 사용하는 사용자도 관리
- 응용 프로그램은 누구나 만들 수 있다.
- 응용 프로그램에 무한 반복문을 넣었다.
- 해당 프로그램은 끝나지 않고 계속 실행된다.
- OS가 끄는 역할한다.
- 응용 프로그램을 잘못 작성해서, 프로그램이 다운
- 모든 파일 삭제 막기 (권한/사용자 관리)
- 응용 프로그램이 욕심이 많아서, CPU를 자기만 쓰겠다. (이런 비정상적인 동작을 운영체제가 막는다.)
운영체제의 목표: 사용자가 사용하는 응용 프로그램이 효율적으로, 적절하게 동작하도록 지원.
운영체제는 응용 프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고, 지원하는 소프트웨어
기타
운영체제는 저장매체(SSD/HDD)에 설치되어 있고
컴퓨터를 키면, Memory에 올가간다.
운영체제도 하나의 소프트웨어 이기 때문에 Memory에 먼저 올라가야 실행이 된다.