컴퓨터 과학에 대한 지식을 습득하고 정리하는 기록용 포스팅입니다.
예외를 판단하는 사고를 기르고, 효율적인 코드를 작성하기 위해
컴퓨터 과학 지식을 활용하는 것을 목표로 합니다.
✅ 운영체제 정의
사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어이다.
운영체제는 응용 프로그램이나 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공하고 그 결과를 돌려준다. 그리고 응용 프로그램이나 사용자에게 모든 컴퓨터 자원을 숨기고 정해진 방법으로만 컴퓨터 자원을 사용할 수 있도록 제한한다.
하드웨어에 대한 모든 책임을 맡고 있는 운영체제를 거치지 않고는 하드웨어에 접근할 수 없다.
컴퓨터 자원이란?
컴퓨터에 부착된 모든 장치
ex. 메모리, 키보드, 모니터, 마우스, 그래픽 카드, 터치패드, 네트워크 카드 등
인터페이스란?
인터페이스(interface)는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면
✅ 운영체제의 필요성
📌 성능 향상을 위한 새로운 기능을 쉽게 추가할 수 있다.
- 운영체제 없이도 컴퓨터는 동작할 수 있다!
세계 최초의 컴퓨터로 알려진 에니악(ENIAC) : 운영체제도 없고, 키보드와 모니터도 없었지만 본래 목적을 충실하게 수행했다.
- 운영체제가 없는 기계는 만들 당시에 구현한 기능 외에 다른 기능을 추가하거나 성능을 향상할 수 없기 때문에 처음 설계한 대로만 사용한다.
📌 자원 관리의 중요한 역할을 수행한다.
- 많은 응용 프로그램에 비해 컴퓨터를 구성하는 장치는 매우 제한적이다. 각각의 응용 프로그램은 이 장치들을 서로 독차지하려고 한다.
- 운영체제는 자원을 관리하는 강력한 중재자 역할을 한다.
- 사용자가 직접 자원에 접근하는 것을 막음으로써 자원을 보호하고 관리한다.
📌 사용자에게 편리한 인터페이스 환경을 제공한다.
- 사용자가 숨어 있는 자원을 이용할 수 있게끔 도와준다.
- 컴퓨터 자원을 보호함과 동시에 사용자의 편의를 도모한다.
✅ 운영체제의 역할
📌 자원 관리
- 운영체제는 자원을 응용 프로그램에 적당하게 배분하여 나누어 주고, 적절한 시점에 회수하여 사용자가 원할하게 작업할 수 있도록 돕는다.
📌 자원 보호
- 비정상적인 작업으로부터 컴퓨터의 자원을 지킨다.
📌 하드웨어 인터페이스 제공
- 운영체제는 복잡한 과정 없이 다양한 장치를 편리하게 사용할 수 있도록 하드웨어 인터페이스를 제공한다.
- 하드웨어 인터페이스는 하드웨어 장치와 상호작용하기 위해 만들어진 드라이버를 의미한다.
📌 사용자 인터페이스 제공
- 사용자가 운영체제를 편리하게 사용하도록 지원한다.
- GUI 환경, 터치 스크린 환경 등 다양하고 편리한 인터페이스를 제공하고 있다.
✅ 운영체제의 목표
📌 효율성
- '자원 관리'와 연관된다.
- 효율적인 자원 관리가 필요하다.
- 같은 자원을 사용하여 더 많은 작업량을 빨리 처리하는 것이 목표이다.
📌 안정성
- '자원 보호'와 연관된다.
- 사용자와 응용 프로그램은 운영체제 위에서 작업을 한다. 운영체제의 안정성은 매우 중요한 요소이다!
- 운영체제가 안정적이려면 사용자와 응용 프로그램의 안전 문제와 하드웨어적인 보안 문제를 처리할 수 있어야하며, 시스템에 문제가 발생했을 때 이전으로 복구하는 결함 포용 기능을 수행해야한다.
📌 확장성
- '하드웨어 인터페이스 제공'과 연관된다.
- 운영체제는 다양한 시스템 자원을 추가하거나 제거하기 편리해야한다. 즉 확장성이 좋아야한다.
📌 편리성
- '사용자 인터페이스 제공'와 연관된다.
- 사용자가 편리하게 작업할 수 있는 환경을 제공하는 것이 목표이다.
✅ 참고
도서 : 쉽게 배우는 운영체제