#1 운영체제 개요
● 운영체제 도입
- 운영체제는 다양한 곳에서 많이 쓰인다.
- 스마트폰에는 안드로이드나 iOS, PC에는 window 혹은 Mac, 대형 컴퓨터나 서버용에는 unix, linux 등이 사용된다.
- 내비게이션, 세탁기, 스마트워치 등에는 임베디드 운영체제가 들어간다.
Q. 컴퓨터는 반드시 운영체제가 있어야만 동작할까?
A.
- 없어도 동작한다.
- 그러나 운영체제가 없으면 처음 컴퓨터를 설계한 그대로만 동작할 뿐 사용자가 원하는 다른 기능을 추가할 수 없다.
(유연하지 못 하다는 의미)
ex)
- 예전의 유선 전화기는 오직 통화 기능만 있을 뿐 다른 기능을 추가할 수 없다.(운영체제가 없으니까)
- 그러나 운영체제가 있는 스마트폰은 통화는 물론 음악 감상, 게임 등 사용자가 원하는 다른 기능을 추가할 수 있다.
● 운영체제가 하는 일(운영체제가 관리하는 것들)
1. 프로세스 관리 cf) 프로세스는 간단히 말해 하나의 프로그램이라고 생각하면 된다.
- PC를 이용해 음악을 들으면서 인터넷을 하거나 게임을 하는 것은 매우 흔한 일이다.
- 이는 음악, 인터넷, 게임이 전부 동시에 실행되기에 가능한 것이다.
- 만약 게임을 메인으로 하고 있으면 음악 감상과 인터넷은 백드라운드에서 계속 실행되고 있는 상태이다.
- 운영체제가 이러한 프로세스를 관리하지 않는다면 브라우저가 CPU를 독차지해 게임이 실행되지 않거나, 게임이 CPU를 독차지해 음악이 실행되지 않는 일이 발생할 수 있다.
2. 메모리 관리
- 모든 프로그램은 메모리에 올라와서 동작한다.
- 즉, 여러 프로그램을 동시에 실행시키는 운영체제는 메모리 위에서 이러한 여러 개의 프로그램을 관리하는 것이다.
3. 하드웨어 관리
- 운영체제는 하드웨어에 대한 사용자의 직접적인 접근을 막는다.
ex)
- 사용자가 하드디스크에 어떤 데이터를 저장하고 싶을 때 하드디스크의 특정 영역에 바로 저장하지 못하게 하고 운영체제가 적절한 위치를 판단해서 해당 위치에 저장한다.(운영체제가 대신 저장해주는 것이다.)
- 이는 하드디스크의 특정 영역에 다른 중요한 데이터가 있을 수도 있고 혹은 사용자가 악의적으로 공격 할 수도 있기 때문이다.
4. 파일 시스템 관리
- 하드디스크에 저장돼 있는 수 많은 파일들의 효율적인 저장과 관리를 해준다.