운영체제-2주차 2(chapter 2)

Yk Lee·2023년 3월 20일
0

운영체제

목록 보기
5/8

CHAPTER 2 운영체제 개요

2.1 운영체제의 목적 및 기능

운영체제의 목적
1. 편리성
컴퓨터를 편리하게 사용
2. 효율성
컴퓨터 시스템 자우너을 효율적인 방법으로 사용
3. 발전성
효과적인 개발과 검사 그리고 새로운 시스템 기능 도입을 다른 서비스를 방해하지 않고 수용

사용자/컴퓨터 인터페이스로서의 운영체제
하드웨어와 소프트웨어는 계층적인 방식으로 살펴볼 수 있다.

복잡한 개발 과정의 처리를 쉽게 하기 위해 다양한 시스템 프로그램들이 제공되는 이를 유틸리티 또는 라이브러리 프로그램이라고 한다. 중요한 시스템 프로그램을 모아놓은 것이 운영체제이다.
즉 사용자가 컴퓨터를 쉽게 사용할 수 있게 하고 컴퓨팅 환경을 제공한다.
운영체제가 제공하는 세비스

  • 프로그램 개발 (Program development)
  • 프로그램 실행 (Program execution)
  • 입출력 장치 접근(Access I/O Devices)
  • 파일 접근 제어(Controlled access to files)
  • 시스템 접근(system access) : 불법 사용자로부터 자원 과 데이터를 보호, 자원 경쟁 문제 해결
  • 에러 발견 및 응답(Erro detection and response)
  • 어카운팅(Accouning) : 여러 가지 자원에 대한 사용 통계 수집, 성능 척도드을 모니터링

  • 인스트럭션 셋 구조 (Instruciton set architecture, ISA) : 컴퓨터가 따르고 있는 기계 명령어 집합 규정
  • 응용 실행파일 인터페이스(Application binary interface, ABI) : 두개의 바이너리 프로그램 모듈 사이의 인터페이스를 말한다. 기계수준 , 이진값 수준에서의 인터페이스를 뜻한다.
  • 응용 프로그래밍 인터페이스 (Application programming interface, API)

자원 관리자로서의 운영체제
시스템 자원을 효율적으로 관리하는 자원 관리자
일반적인 컴퓨터 소프트웨어와 동일하게 기능
처리기에 의해 실행되는 프로그램(또는 일련의 프로그램들)
수시로 application(응용)에게 제어를 양도해가며 실행되고, 특정 CPU 기능을 통해 승용으로부터 제어를 넘겨 받는다

커널(Kernel)
주 메모리에 상주하는 운영체제 핵심으로 자주 사용되는 기능을 포함하며 Nucleus라고도 불린다.

운영체제 발전 용이성
업그레이드 해야하는 이유
1. 하드웨어 업그레이드와 새로운 형태의 하드웨어
- HW 업그레이드에 따른 SW 기능 향상
- paging, window
2. 새로운 서비스의 도입
- 사용자 또는 시스템 관리자의 요구에 따라 새로운 서비를 제공하기 위해 운영체제가 확장되어야 한다.
3. 버그 수정
- 어떤 운영체제도 결함을 가지고 있다.
해결법
1. 구성이 모듈화되어야 한다.
2. 묘듈 간에 명확하게 인터페이스가 정의되어야한다.
3. 문서화가 잘 되어야 한다.

2.2 운영체제의 발전

순차처리 -> 단순일괄 처리 시스템 -> 멀티프로그래밍 일괄처리 시스템 -> 시분할 시스템

순차처리(Serial Processing)

  • 초창기 운영체제가 지원되지 않았다.
  • 콘솔을 통해 운영됐다.
  • 초기 시스템 문제점
    - 스케줄링(Scheduling) : 기계 사용시간을 예약
    • 준비시간(setup time) : 컴파일러, 소스코드 적재, 컴파일된 프로그램 저장, 적재 링크를 포함

이와 같이 사용자가 컴퓨털르 순차적으로 접근하기 때문에 순차처리라고 한다.

단순 일괄 처리 시스템(Simple Batch System)

컴퓨터의 이용률을 향상시키기 위해 개발되었다.
모니터(Monitor)
- 일련의 이벤트를 제어하는 소프트웨어
- 일괄처리 작업
- 작업이 완료되면 제어는 다시 모니터로 넘어가고, 모니터는 즉시 다음 작업을 읽는다.
- 각 작업의 결과는 출력되어 사용자에게 전달, 신속 수행
- 작업 준비시간도 줄여준다.

Job Control Language(JCL)
특수한 형태의 프로그래밍 언어로 모니터에 대한 명령어를 전달하는데 사용된다.
사용할 컴파일러와 데이터가 무엇인지말이다.

근대 운영체제로 발전을 위한 하드웨어 기능
제어를 서로 넘겨가며 수행하는 CPU 역할 이외에도
1. 메모리 보호
- 모니터를 포함하고 있는 메모리 영역이 변경되지 않도록
2. 타이머
- 단일 작업이 시스템을 독점하지 못하도록
3. 특권 명령어(Privileged instruction)
- 특정 기계 수준의 명령어는 모니터에 의해서만 수행할 수 있다.
4. 인터럽트
- 초기에는 인터럽트 기능 지원 불가했으나 인터럽트로 운영체제와 사용자 프로그램 사이에 융통성 있게 전달됨.

메모리 보호와 특권 명령어
메모리 보호
사용자 프로그램은 사용자 모드에서 수행->특권 명령어는 수행되지 않는다.
모니터는 시스템 모드에서 수행된다. -> 커널 모드에서 수행 특권 명령어가 수행될수 있고 보호 메모리 영역을 자유롭게 접근할 수 있다.

멀티프로그래밍 일괄처리 시스템 (Multiprogrammed Batch System)

profile
AR개발자지망생

0개의 댓글