[OS] Lecture 2. OS Overview

박상우·2023년 5월 22일
0

OS

목록 보기
2/2
post-thumbnail

운영체제

  • 편리성

    • CUI (글로)
    • GUI (그래픽으로)
    • EUCI (특정한 경우)
  • 효율성

    • 하드웨어 리소스
    • 소프트웨어 리소스
  • Process, Thread managament

  • System 보호

구분

동시 사용자 수

Single user system
  • 한 명의 사용자가 모든 자원 독점
  • 비교적 간단
  • Window7/10, android, ms-dos 등
Multi user system
  • 동시에 여러 사용자들이 시스템 사용
  • 각종 시스템에 대한 소유 권한 필요
  • Multi-tasking 기능 필요
  • 비교적 복잡
  • Unix, Linux 등

동시 실행 프로세스 수

Single-tasking system
  • 시스템 내 하나의 작업만 존재
  • Ms-DOs
Multi-tasking system
  • 동시 여러 프로세스
  • 구조가 복잡

구분 - 작업 수행 방식

  • 순차적으로 발전하는 흐름을 보자

순차 처리

  • Before 1940
  • OS 개념 존재 X
  • 사용자가 기계어로 프로그램 작성
  • 각각 작업에 대한 준비 시간이 소요 됨

Batch System

  • 모든 시스템을 중앙(전자 계산소 등)에서 운영
  • 사용자의 요청 작업을 모아두었다가 한번에 처리
  • 비슷한 작업끼리 모아서 시간을 준비 시간을 줄일 수 있음
  • 시스템 지향적 (많은 사람들이 시스템 자원 공유)
  • 생산성이 저하되고, 응답 시간이 김 (같은 유형의 작업이 모이기를 기다려야 함)

Time Sharing System

  • 여러 사용자가 자원을 동시에 관리
  • 대화형 시스템 (지속적으로 반응이 옴)
  • 단말기 사용 (단말기를 통해 정보를 입력)
  • 응답시간 단축 (5초)
  • 생산성 향상 (프로세스의 쉬는 시간 감소)
  • 통신 비용 증가
  • 개인 사용자 체감 속도 저하 (사용자 많아지면 느려짐)

Personal Computing (PC)

  • 개인이 시스템 독점
  • 이제 더이상 CPU 활용률은 중요하지 않음
  • OS가 단순
  • 빠른 응답시간을 얻고, 성능을 포기

Parallel Processing System

  • 단일 시스템 내 둘 이상의 프로세서
  • 메모리 등 자원 공유
  • 성능, 신뢰성 향상 (하나가 고장나도 정상 작동)
  • 프로세서간 역활 관리 필요

Distributed Processing Systems

  • 네트워크 기반 병렬처리 시스템
  • 통신망을 이용한 상호 연결
  • 각각 운영체제를 탑재한 범용 시스템
  • 분산 운영체제를 통해 각 운영체제를 하나의 자원처럼 사용 가능 (은폐성)
  • 자원을 공유하기에 높은 성능
  • 구축 및 관리 어려움

운영체제의 구조

  • 커널
    • 알맹이 (핵심)
    • 빈번하게 사용되는 기능을 담당 (시스템 관리 등)
    • 항상 메모리에 올라와 있음
    • 핵, 관리자, 상주 프로그램, 제어 프로그램과 동의어
  • 유틸리티
    • 커널을 제외한 나머지
    • UI 등 서비스 프로그램

단일 구조 운영체제

  • 운영체제의 기능을 하나의 커널로 모아놓은 것
  • main 안에 코드를 다 모아놓은 것이라고 생각하면 됨
  • 커널 내 모듈간 직접 통신으로 효율적 자원 관리 및 사용 가능
  • 커널의 거대화로 인한 여러 버그 생성 및 유지보수 어려움 가짐

계층 구조 운영체제

  • 모듈화 한 운영체제
    - 계층간 검증 및 수정 용의
  • 설계 및 구현의 단순화
  • 단일 구조에 비해 성능이 떨어질 수 있음 (왔다 갔다 하니깐)

마이크로 커널 구조

  • 필수 기능만 커널에 포함
  • 기타 기능은 사용자 영역에서 수행

운영체제의 기능

  • 한 마디로 관리!

프로세스 관리

  • 프로세스
    • 커널에 등록된 실행 단위 (실행 중인 프로그램)
    • 사용자 요청의 수행 주체
  • OS의 프로세스 관리 기능
    • 생성/삭제
    • 자원 할당
    • 통신 및 동기화
    • 교착 상태 해결

프로세서(CPU) 관리

  • 프로세스 스케쥴링 (CPU를 누구한테 먼저 줄 것인가)
  • 프로세서 할당 관리 (누구에게 줄 것인가)

메모리 관리

  • 주 기억장치 관리
  • 어떻게 메모리를 할당하고 회수하는 지
  • 여유 공간 관리

파일 관리

  • 파일은 논리적 데이터 저장 단위

입출력 관리

  • 입 출력은 반드시 OS를 거쳐야 함!

  • 이외에도 디스크, 네트워크, 보안 등 다양한 기능을 수행!

profile
세상아 덤벼라

0개의 댓글