Operating system
운영체제
White_Bean
2023. 4. 19. 00:50
01. 운영체제 소개
운영체제(OS, Operating System)
- 컴퓨터 노트북 등을 킬 때 가장 먼저 만나는 SW
- Window, mac os, unix, linux ...
임베디드 운영체제제
- CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장
- Galaxy Watch, TV, 리모컨 ...
02. 운영체제의 필요성
질문 | 답 |
컴퓨터는 운영체제가 없이도 작동하나? | 작동은 하나 기능에 제약이 따른다. |
운영체제가 있는 기계와 없는 기계는 어떤 차이가 있나? | 성능 향상을 위한 새로운 기능을 쉽게 추가할 수 있다. |
운영체제는 성능을 향상하는 데이만 필요한가? | 자원을 관리하고 사용자에게 편리한 환경을 제공 |
운영체제는 자원을 어떻게 관리하나? | 사용자가 직접 접근하는 것을 막음으로써 자원을 보호함 |
사용자는 숨어 있는 자원을 어떻게 이용하는가? | 사용자 인터페이스와 하드웨어 인터페이스를 이용하여 접근 |
03. 운영체제의 정의
- 응용 프로그램이나 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공하고 그 결과를 돌려주는 시스템 소프트웨어
- 응용 프로그램이나 사용자에게 모든 컴퓨터 자원을 숨기고 정해진 방법으로만 컴퓨터 자원을 사용할 수 있도록 제한
04. 운영체제의 역할
자원관리
- 응용프로그램에서 컴퓨터 시스템 자원을 나누어주어 사용자가 원활하게 작업이 가능
- 요청한 프로그램이 여러 개라면 적당한 순서로 자원을 분배하고 적절한 시점에 회수하여 다른 프로그램에 나누어 줌
자원보호
- 비정상적인 작업으로부터 컴퓨터 자원을 보호
하드웨어 인터페이스 제공
- 사용자가 복잡한 과정 없이 다양한 장치를 사용할 수 있도록 해줌
- CPU, 메모리, 키보드, 마우스등 하드웨어를 일관된 방법으로 사용할 수 있도록 지원
사용자 인터페이스 제공
- 사용자가 운영체제를 편리하게 사용하도록 지원 (윈도우의 그래픽 사용자 인터페이스)
05. 운영체제의 목표
효율성
- 자원을 효율적으로 관리
안정성
- 작업을 안정적으로 처리하는 것
확장성
- 다양한 시스템 자원을 컴퓨터에 추가하거나 제거하기 편
편리성
- 사용자가 편리하게 작업할 수 있는 환경 제공
05. 운영체제 구조
1) 커널 & 인터페이스
- 커널
- 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심 기능을 모아놓은 것
- 인터페이스
- 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려줌
- 그래픽을 사용한 인터페이스 GUI(graphical User Interface)
2) 시스템 호출과 디바이스 드라이버
- 시스템 호출
- 커널이 자신을 보호하기 위해 만든 인터페이스
- 커널은 사용자나 응용 프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근을 차단
- 직접 접근
- 두 응용 프로그램이 자기 마음에 드는 위치에 데이터를 저장
- 다른 사람의 데이터를 지울 수도 있고 내 데이터가 다른 사람에 의해 지워질 수 있다.
- 시스템 호출을 위한 접근
- 응용 프로그램이 직접 하드디스크에 데이터를 저장하지 않고 커널이 제공하는 write()함수를 사용하여 데이터를 저장해달라고 요청
- 커널이 데이터를 가져오거나 저장하는 것을 전적으로 책임지기 때문에 컴퓨터 자원 관리가 수월
- 시스템 호출 정리
- 시스템 호출은 커널이 제공하는 시스템 자원의 사용과 연관된 함수
- 응용 프로그램이 하드웨어에 접근하거나 운영체제가 제공하는 서비스를 이용할 때 시스템 호출 사용
- 운영체제는 커널이 제공하는 서비스를 시스템 호출로 제한함
- 커널이 제공하는 서비스를 이용하기 위한 인터페이스, 사용자가 자발적으로 커널 영역에 진입 가능
- 드라이버
- 커널과 하드웨어 인터페이스를 담당 (디바이스 드라이버)
- 마우스와 같은 제품은 드라이버를 커널이 가지고 있으나 그래픽카드 처럼 복잡한 하드웨어는 제작자가 드라이버를 제공 함.