운영체제 (OS)
📖 운영체제란?
- OS -> Operating System
- 운영체제(Operating System)는 컴퓨터 시스템의 하드웨어, 소프트웨어적인 자원들을 효율적으로 운영 및 관리함으로써 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 하는 시스템 소프트웨어이다.
- 일반적으로 커널에 여러가지를 추가한 상태를 OS라고 통칭한다.
- But! OS는 더 정확하게 이야기하면 kernel이라고 할 수 있다.
운영체제의 역할 3가지!
1. 시스템 자원 관리자 역할
- 시스템 자원이란 컴퓨터의 하드웨어를 의미한다.
- ex) CPU, Memory, SSD, HDD, I/O Device,
- 과도한 사용, 메모리 공간 확보 등 시스템 자원이 낭비되는 것을 방지하고 원활하게 사용할 수 있게 관리한다.
2. 사용자와 컴퓨터간의 커뮤니케이션 지원
- 사용자의 입력을 컴퓨터가 이해할 수 있게 컴퓨터 언어로 바꾸어주는 역할을 한다.
- 컴퓨터의 연산 결과를 사용자에게 보여주는 역할도 한다.
3.응용 프로그램 제어
- 운영체제는 응용 프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고, 지원하는 소프트웨어이다.
- 메모리 접근, 저장소 접근, 입력 디바이스 접근 등 다양한 방법으로 응용 프로그램을 제어한다.
- ex)어플리케이션을 처음 시작할 때 접근허용 메세지가 뜨는 것과 같음
💡 그러면 응용 프로그램이란 무엇일까?
- PC에서는 어플리케이션, 스마트폰에서는 App이다.
- 엑셀, 파워포인트, 카카오톡 등 우리가 사용하는 소프트웨어를 의미한다.
운영체제와 응용 프로그램간의 관계
1. 운영체제는 응용 프로그램을 관리한다!
- 운영체제는 운영프로그램의 실행시키는 부분부터 하드웨어로의 접근 권한까지 관리한다.
- 운영체제는 응용 프로그램을 사용하는 사용자의 정보도 관리한다.
2.응용 프로그램은 누구나 만들 수 있다.
- 응용 프로그램은 누구나 만들 수 있다.
- 응용 프로그램에 무한 반복문을 넣거나, CPU를 많이 잡아먹게 코드를 작성한다든지 다양한 문제점이 만들어질 수 있기 때문에 운영체제는 응용 프로그램을 관리한다!
운영체제의 구조
커널과 인터페이스
- 운영체제는 커널로 이루어져 있고, 인터페이스를 통해 사용자와 소통한다.
- 커널 : 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것으로 운영체제의 성능을 좌우한다.
- 인터페이스 : 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할을 한다.
시스템 호출과 디바이스 드라이버
- 시스템 호출과 디바이스 드라이버는 커널 내부에 존재하는 인터페이스 이다.
- 시스템 호출: 커널이 자신을 보호하기 위해 만든 인터페이스 이다.
사용자나 프로그램이 직접 컴퓨터 자원에 접근하는 것을 막는다.
- 드라이버: 커널과 하드웨어 사이에 인터페이스를 담당한다.
하드웨어 제작자가 만든 소프트웨어를 받아서 설치하여 하드웨어를 사용할 수 있게 한다.