우봉수
2023. 3. 6. 17:10
2023. 3. 6. 17:10
운영체제란 무엇인가?
- 컴퓨터 사용자와 컴퓨터 하드웨어 사이의 중개자 역활을 하는 프로그램
운영체제의 목표
- 사용자 프로그램을 실행하고 사용자 문제를 보다 쉽게 해결할 수 있도록 하자
- 컴퓨터 시스템을 사용하기 편리하게 만들자
- 컴퓨터 하드웨어를 효율적으로 사용하자
컴퓨터 시스템 구조
- 하드웨어
- 운영체제: 다양한 응용 프로그램 및 사용자 간의 하드웨어 사용을 제어하고 조정합니다.
- 응용프로그램: 워드, 컴파일러, 웹 브라우저, 데이터베이스 시스템, 비디오 게임
- 사용자: 사람, 기계, 다른 컴퓨터
운영체제가 하는 일
- 자원의 이용률을 관리한다.
- 워크스테이션의 전용 자원과 서버가 제공하는 공유 자원을 효율적으로 사용 하도록 한다.
- 관점에 따라 달라진다
운영체제의 정의
- 모든 사람들이 받아들이는 정의는 없다.
- OS는 자원 할당기
- 모든 자원을 관리: cpu, 메모리, 입출력 장치
- 효율과 공정한 자원 사용을 목적으로 하는 상충된 요구 사이에서 결정
- OS는 제어 프로그램
- 운영체제를 주문했을 때 판매자가 배송하는 모든 것
- 컴퓨터에서 항상 실행되는 유일한 프로그램을 커널이라고 한다.
- 그 외 다른 모든 것들은
- 시스템 프로그램(운영체제와 같이 배송됨)이거나
- 응용프로그램
- 커널 + 시스템 프로그램 + 응용프로그램
컴퓨터 시동
- 부트스트램 프로그램이 전원이 공급되는 시점 혹은 다시 부트될 때 적재된다
- 통상 ROM 또는 EPROM에 저장되고 펌웨어라고 불림
- 시스템의 모든 구성을 초기화 한다.
- 운영체제 커널을 적재 시킨 후 커널을 실행 시킨다.
컴퓨터 시스템 구성
- 하나 이상의 CPU와 장치 제어기
- 공유 메모리에 접근할 수 있도록 공통 버스로 연결되어 있다.
- CPU와 장치는 병행 수행하기 때문에 메모리를 사용하기 위해 경쟁함
컴퓨터 시스템 연산
- 입출력 장치와 CPU는 병행 실행된다
- 각 장치 제어기는 특정 유형의 장치를 책임진다
- 각 장치 제어기는 지역 버퍼를 가진다.
- CPU는 메인 메모리는로 지역 버퍼(캐쉬 메모리) 혹은 지역 버퍼에서 메인 메모리로 데이터를 이동한다.
- 입출력은 장치에서 제어기의 지역 버퍼로 데이터를 이동하는 것이다
- 장치 제어기는 인터럽터를 발생시켜 CPU에게 연산이 끝났음을 알린다.
인터럽트의 공통 기능
- 인터럽트는 인터럽트 서비스 루틴에게 제어권을 넘긴다.
- 종류별로 서비스 루틴이 다를 수 있으며
- 모든 서비스 루틴의 주소를 저장하고 있는 자료구조를 인터럽트 벡터라고 한다.
- 인터럽트 아키텍처는 반드시 인터럽트 된 명령어의 주소를 저장해야 한다.
- 트랩 또는 예외는 소프트웨어가 발생시킨 인터럽트를 의미한다
- 인터럽트: 명령어가 끝나고 새로운 명령어가 시작되기 전 처리
- 예외: 명령어가 끝나기 전에 처리 (의미가 더 강함)
- 운영체제는 인터럽트가 발생하여 작동을 시작하는 방식(Interrupt driven)
인터럽트 핸들링
- CPU는 인터럽트가 발생한 신호를 파악
- 과거: poliling (주기적으로 cpu가 모든 기기를 체크)
- 현재: vectored (cpu가 발생한 신호를 분석해서 거기에 맞는 인터럽트 시스템을 전달)
입출력 구조
- 전제조건: cpu하고 별도의 하드웨어가 필요
- 운영체제가 핵심기능을 가지고 있기 때문에 운영체제에게 핵심기능을 요청하는 식으로 구현 됨
- 입출력이 시작된 후, 제어권은 완료를 기다리지 않고 바로 사용자 프로그램에게 넘어간다
- 시스템 호출: 사용자가 입출력 완료를 대기할 수 있도록 운영체제에게 요청
- 장치 상태 테이블: 장치마다 유형 주소와 상태를 표시
- OS는 장치의 상태를 결정하고 인터럽트를 추가하기 위하여 항목을 갱신할 때 테이블을 찾아본다.
저장장치의 정의와 표기
- 기본단위는 비트
- 한 바이트는 8비트 대부분에 컴퓨터에서는 가장 작은 편리한 저장 된위
- 1 킬로바이트 KB 2^10
- 1 메가바이트 MB 2^20
- 1 기가바이트 GM 2^30
- 1 테라바이트 TB 2^40
- 1 페타바이트 PB 2^50
저장장치 구조
- 메인 메모리: CPU가 직접 접근할 수 있는 유일한 대용량 저장 매체
- 보조 저장장치: 대용량 비휠발성 저장 용량을 제공하는 메인 메모리의 확장
- 하드 디스크: 자성 기록 가능 물질로 덮힌 단단한 금속 또는 유리 플래터
- 디스크 표면이 논리적인 트랙으로 나뉘고 트랙은 다시 섹터로 나뉜다
- 디스크 제어기가 장치와 컴퓨터의 논리적인 상호 작용을 결정한다.
- 반도체 디스크: 하드 디스크 보다 빠른 비휠발성 저장 매체