[운영체제] 운영체제 개념 및 목적

Profile-exe·2021년 9월 10일
2

Operating-System

목록 보기
1/5
post-thumbnail

학기가 시작되고 운영체제, 알고리즘, 데이터통신 등의 과목을 수강하게 되었다. 개인 프로젝트도 시작하겠지만 우선 학기 중 배우는 CS에 대해서 정리를 우선으로 하며 포스팅을 진행할 계획이다.


📖 운영체제 - Operating System

운영체제 - Wikipedia

응용 프로그램 실행을 제어하는 프로그램
응용 프로그램과 하드웨어 간의 인터페이스

컴퓨터가 부팅이 되고 메인 메모리(RAM)에 제일 먼저 로드(Load)되어 응용 프로그램의 실행을 제어하고 응용프로그램과 하드웨어가 서로 통신할 수 있게 만드는 소프트웨어

✍️ OS = Kernel + System Programs

💡 Kernel

  • 메모리에 상주 - 제일 높은 주소에 존재
    • Stack높은 주소에서 낮은 주소로 쌓인다. -> Kernel 접근 방지
  • 시스템 부팅메모리에 로드되는 함수들의 집합

Kernel 함수들

  • Process 관리, Processor 스케줄링, 실기억장치 및 가상기억장치, 파일 시스템, 네트워크, 윈도우 관리 함수들, I/O device drive

Kernel이 호출되는 시점

  • 응용프로그램에서 API 함수를 호출하는 경우
  • 입출력 장치에서 데이터가 들어올 경우 device driver 함수가 실행됨

💡 System Programs

  • 디스크실행 파일(Program)로 존재
  • 컴퓨터 시스템 관리에 필요한 프로그램
    • ex) 설정 또는 제어판에 존재하는 모든 프로그램들
  • Application Program(응용 프로그램) : System Program이 아닌 프로그램들

📖 운영체제 목적

각 목적에 따른 구체적인 내용은 다음 단락부터 서술한다.

운영체제 목적 - Wikipedia

1. 편리성 - Convenience

사용자에게 컴퓨터의 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공

2. 효율성(자원성) - Efficiency

하드웨어 및 소프트웨어 자원을 여러 사용자 간에 효율적 할당, 관리, 보호하는 것

3. 발전성(진화 가능성) - Ability to evolve

서비스를 방해하지 않고 새로운 시스템 기능을 효과적으로 개발, 테스트 및 도입


📖 운영체제가 제공하는 서비스 - 편리성

💻 프로그램 개발 - Program development

  • 에디터 & 디버거

✅ 프로그램 실행 - Program execution

  • 프로그램 실행과정, 자원 관리, 스케줄링

📻 입출력 디바이스 접근 - Access to I/O devices

  • 복잡한 내부는 숨기고 함수만 호출하도록 함

📂 파일에 대한 접근 제어 - Controlled access to files

  • 여러 장치, 사용자 동시 접근

🔐 시스템 접근 - System access

  • 다중 사용자(자원보호, 동시성)

🧾 회계 - Accounting

  • 사용 통계 수집, 성능 모니터링
  • 향후 기능 보완의 필요성 미리 예상
  • 사용료 청구 목적

🚨 오류 검출 및 응답 - Error detection and response

  • 내부 및 외부 하드웨어 오류
    • 메모리 오류
    • 기기 고장
  • 소프트웨어 오류
    • 산술 오버플로우, division by zero (0으로 나누기)
    • 금지된 메모리 영역 접근
  • 운영체제에서 허용할 수 없는 응용 프로그램 요청

📖 자원 관리자로서의 운영체제 - 효율성

자원 - Resource

컴퓨터에서 사용하고 있거나 사용할 수 있는 각각의 하드웨어 및 소프트웨어 요소

  • Processor(CPU), memory, disks, printers, network cards, serial/parallel port, USB port, timer, etc.

운영체제는 각 자원을 관리하며 이에 대한 책임을 진다.

📟 자원 관리에 대한 책임

⚙️ 일반 컴퓨터 소프트웨어와 동일한 방식으로 작동

  • 운영체제는 프로세서에 의해 실행되는 함수들의 집합, 프로그램 또는 프로그램 모음이다.

📖 운영체제의 진화 용이성 - 발전성

➕ 하드웨어 업그레이드 및 새로운 타입의 하드웨어 추가

  • 하드웨어 업그레이드 및 추가를 통해 새로운 기능이 추가될 수 있다.
  • 하드웨어 기능이 추가되면서 소프트웨어 기능도 추가
    • MMU의 연속 메모리 할당 - 페이징 기법

🆕 새로운 서비스

  • 하드웨어는 동일한데 기능이 추가
    • Graphical User Interface[GUI]

🛠️ 수정

  • 오류 수정
  • 수정이 새로운 결함을 가져올 수 있다...?

profile
컴퓨터공학과 학부생

0개의 댓글