시험 정리
1장
운영체제 소개
운영체제(OS, Operating System)
일반 컴퓨터, 노트북, 스마트폰의 전원을 켜면 가장 먼저 만나게 되는 소프트웨어
ex)윈도우 , MAC OS, 유닉스, 리눅스
임베디드 운영체제
cpu 성능이 낮고, 메모리 크기도 작은, 시스템에 내장하도록 만든 운영체제
계속 향상 가능
운영체제의 필요성
컴퓨터는 운영체제가 없어도 작동하는가?
-> 운영체제가 없어도 작동하지만 기능에 제약이 따른다.
운영체제가 있는 기계와 없는 기계의 어떤 차이가 있는가?
-> 운영체제가 있는 기계는 다향한 응용 프로그램을 설치하여 사용할 수 있고,
성능 향상을 위한 새로운 기능을 쉽게 추가할수 있다.
운영체제는 성능을 향상하는 것 말고 다른 장점은 무엇인가?
-> 성능 향상뿐만 아니라 자원 관리하고 사용자에게 편리한 인터페이스 환경을 제공한다.
운영체제는 자원을 어떻게 보호하는가?
-> 운영체제는 사용자가 직접 자원에 접근하는 것을 막음으로써 컴퓨터 자원을 보호한다.(초보자 사용자가 많아졌기 때문에)
사용자는 숨어 있는 자원을 어떻게 이용할 수 있는가?
->운영체제가 제공하는 사용자 인터페이스와 하드웨어 인터페이스를 이용하여 자원에 접근 할 수 있다.
운영체제의 정의
손님(사용자)->웨이터(프로그램)-> 주방(운영체제)
*사용자는 응용 프로그램 or 유틸리티에만 손댈 수 있다.
운영체제의 역할 -> 운영체제의 목표
자원관리 -> 효율성
자원보호 -> 안정성
하드웨어 인터페이스 제공 -> 확장성
사용자 인터페이스 제공 -> 편리성
운영체제의 구조
커널과 인터페이스
- 커널은 프로세스관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것
시스템 호출과 디바이스 드라이버
- 시스템 호출 : 커널이 자신을 보호하기 위해 만든 인터페이스
하드웨어 자원에 접근하거나 운영체제가 제공하는 서비스를 이용하려면 시스템 호출을 해야함
- 호출의 종류
->직접 접근, 시스템 호출을 통한 접근
직접 접근을 하면 동시접속때문에 데이터 중복에 문제가 있음
시스템 호출을 통해 접근하면 자원 관리가 수월
드라이버
- 커널과 하드웨어의 인터페이스 담당하며 디바이스 드라이버라고 부른다.
커널의 구성
- 단일형 구조 커널
모듈화X(모듈화가 안되어 있음)
->효율성 ↓, 버그처리 ↓, 상호의존성 ↑, 다양하고 복잡한 기능↓, 통신비↓
- 계층형 구조 커널
모듈화O
->효율성 ↑, , 버그처리↑, 상호의존성↓, 다양하고 복잡한 기능↑
- 마이크로 구조 커널
모듈 세분화, 모듈 간 정보 교환은 프로세스 간 통신을 이용
프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능만 제공
->운영체제가 점점 커지다 보니 핵심만 운영체제 둠
가상머신
-> 운영체제와 응용 프로그램 사이에서 작동하는 프로그램
연습문제
- 운영체제 : 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어
- 인베디드 운영체제 : CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제
- 응용 프로그램 : 사용자가 원하는 기능을 수행하기 위해 컴퓨터 자원을 사용하는 소프트웨어
- 사용은 가능히지만 기능에 제약을 따른다.
- 인터페이스 : 기계와 사용자 사이에 명령을 전달하고 결과를 알려주는 것
- 일괄 작업 시스템 : 프로그램과 데이터를 한번에 입력한 후 작업의 최종결과만 얻는 운영체제 방식
- 대화형 시스템 : 프로그램이 진행중인 과정에서 사용자에게 데이터를 입력반아 프로그램 진행에 반영하는 운영체제 방식
- 시분할 시스템 : 한 cpu 사용시간을 쪼개어 여러 개의 프로그램이 동시에 실행 되는 것처럼 보이는 운영체제 방식
- 실시간 시스템 : 특정 작업이 일정 시간안에 처리되도록 보장하는 시스템
- 분산 시스템 : 작고 싼 컴퓨터들을 묶어 대형 컴퓨터와 같은 일을 할 수 있게 한것
- p2p 시스템 : 서로가 클라우드/서버가 되어 사용자와 사용자를 연결함 하나가 다운되도 사용 가능
- 시스템 호출 : 커널이 자신을 보호하기 위해 만든 인터페이스
- 드라이버 : 커널과 하드웨어 사이의 인터페이스
- 단일형 커널 구조 : 커널의 핵심 기능을 구현하는 모듈을 하나로 구성한것
- 마이크로 커널 구조 : 커널의 기능을 최소화하여 여러 컴퓨터에 이식하기 쉽게 만든 커널 구조
- 가상머신 : 운영체제와 응용 프로그램 사이에서 작동하는 프로그램
[심화문제]
1. 운영체제의 역할을 설명하시오.
비정상적인 작업으로 부터 컴퓨터를 지킨다. 사용자 인터페이스 제공, 하드웨어 인터페이스 제공, 자원을 원할하게 관리해준다.
2. 운영체제의 목표를 설명하시오.
안정성, 효율성, 확장성, 편리성을 목표로 한다.
- cpu 집중 작업과 입출력 집중 작업에 대해 설명하세요.
cpu 집중 작업은 일괄 작업 시스템에서 프로그램이 실행되는 동안에 입출력이 불가능하기 때문에 대부분의 작업이 cpu만 사용하는 계산 작업을 말한다.