운영체제 2)

zh025700·2022년 4월 3일
0

운영체제

목록 보기
2/20

운영체제

2) Introduction to Operating Systems


프로세서는 메모리로부터 데이터를 가져와 일하기만 함!!

OS의 3개의 큰 특징들

이 특징들을 기반으로 진행됨
  1. Virtualization(가상화)
    • cpu 가상화
    • 메모리 가상화
  2. Concurrency(병행성)
    • 스레드
  3. Persistence(지속성)
    • 파일 시스템
    • 입출력 장치

Virtualizing Cpu

Illusion을 줘 시스템이 무한의 CPU가 있는 것 처럼 느끼게 함
  • 많은 프로그램들이 동시에 실행하는 것처럼 느끼게 한다.

Virtualizing Memory

각 프로세스가 각자의 주소 공간이 있도록 Illusion을 준다.
  • 실제 메모리는 바이트의 배열이다.
    • 보통 메모리는 DRAM이며 용량이 제한되어 있다.
  • 프로그램은 모든 데이터 구조를 메모리에 넣는다.

-OS는 주소 공간을 실제 메모리에 매핑한다.

  • 작동중인 프로그램의 메모리 참조는 다른 프로세스의 주소 공간에 영향을 끼치지 않는다. => Protection
  • 실제 메모리는 OS에 의해 관리되는 공유 자원이다 => Caching

사용자에겐 다른 프로그램이 같은 주소를 사용하는 것 같아도 실제는 OS에 의해 관리가 되어 실제 메모리의 다른 공간에 위치한다.

Concurrency

병행 접근의 공유 자원들은 오류가 많이 일어난다.
  • OS 는 많은 것을 동시에 제어한다.
  • 현대의멀티 스레드 프로그램 또한 병행성 문제가 존재한다.
    => protection, lock synchronization이 필요하다!

Persistence

  • DRAM과 같은 장치는 값들이 휘발된다.
  • H/w와 S/w들은 데이터를 지속적으로 저장해야한다.
    • H/W
      • 하드 드라이브(HDD) & SSd
    • S/W
      • 파일 시스템
        • 파일 시스템은 유저가 만든 어떠한 파일도 저장 가능하다!

만약 시스템이 갑자기 꺼지면????

EX) JFS, Copy-on-Write

OS 디자인 목표

  1. 추상적이게 빌드

    • 시스템을 편리하고 쉽게 사용할 수 있게
  2. 높은 퍼포먼스 제공

    • OS의 오버헤드 최소화, 과도한 오버헤드 없는 가상화 제공
  3. 어플리케이션 사이 protection

    • isolation을 통한 다른 사용자 및 os에 피해가 없게
  4. 높은 신뢰성

    • Os는 멈추면 안됨, 만약 멈춘다면 다른 어플도 다 죽음
  5. 나머지들... ex) 에너지 효율, 보안, 유동성

profile
정리

0개의 댓글

관련 채용 정보