[운영체제/OS] 1. 운영체제란?

SooYeon Yeon·2022년 5월 26일
0

운영체제/OS

목록 보기
1/3

운영체제란 ?

하드웨어와 유저(컴퓨터)의 중간 역할을 하는 프로그램

OS의 System goals

  • 유저 프로그램을 실행하고 유저의 문제를 쉽게 해결할 수 있게 함
  • 컴퓨터 시스템 편의성 제공 (사용자는 안에서 복잡한 일들을 몰라도 됨)
  • 컴퓨터 하드웨어효율적인 방식으로 사용하게 함

OS의 정의

  • OS는 resource allocator (리소스를 할당하는 존재)
    • 모든 리소스 관리
    • request간 충돌 해결, 리소스 사용 효율적으로
  • OS는 control program (프로그램 제어)
    • 에러 방지 컨트롤
    • 유저(컴퓨터)의 부적절한 사용 컨트롤

OS 구조

Multiprogramming(멀티프로그래밍, Batch System)

  • 자원을 효과적으로 하는데 필요
  • Single Program은 CPU와 I/O를 둘다 busy하게 할 수 없다
  • Job scheduling을 통해 하나의 작업을 선택하고 실행함
  • Job scheduling : 메모리에 올라와 있는 job들 중 어떤 것을 먼저 실행시킬 지 순간순간 선택

Timesharing (multitasking)

  • Response Time은 1초 이하여야함(예를들어)
  • Process : 하나의 문제에 하나의 프로그램 실행
  • CPU Scheduling : CPU 자원을 어떤 task에게 할당할 지
  • Swapping : 메모리 일부분이 사용되다가 swapping에 의해 바뀌는 것
  • Virtual Memory(가상메모리) : 메모리가 실제 메모리보다 많아 보이게 함

컴퓨터 시스템 운영

  • I/O 디바이스는 CPU를 병렬적으로(동시에) 실행
  • 각 device controller는 특정 디바이스 type 담당
  • 각 device controller는 Local Buffer을 가짐
  • CPU는 데이터를 메인 메모리에서 local buffer로(또는 그 반대로) 이동시킴
  • Device controller는 interrupt를 발생시켜 동작이 종료한 것을 CPU에게 알린다.

컴퓨터 시스템 구조

4가지 컴포넌트로 구성

  1. 하드웨어
    1. CPU
    2. memory
    3. I/O devices
  2. OS(Operating System)
    1. 다양한 Application과 User 사이에서 하드웨어로 Control하고 Coordinate
  3. Application Programs
    1. 컴퓨터 문제 해결
    2. ex.) 워드 프로세서, compiler, web browser 등
  4. Users
    1. people
    2. machines
    3. other computers

Storage Structure (저장소 구조)

메인 메모리 - CPU는 메모리에 있는 명령어와 데이터에만 접근 가능

  • Random Access (순차적이 아니라 랜덤으로 접근 가능)
  • Typically volatitle (전원 꺼지면 안에 있는 내용이 사라짐)

하드디스크 - 2차 저장소

  • Typically nono-volatile ( 전원 꺼져도 내용이 사라지지 않음)
  • 크기가 크고 값이 저렴함

Storage Hierarchy (저장소 계층)

Speed, Cost, Volatility 에 대하여 비교할 수 있다

캐시 → 메모리 → 디스크

오른쪽으로 갈수록 싸고 느리다

Cashing

  • 정보를 저장소에 더 빠르게 Copy
  • 예를 들어 A++, B—, C=a+b 코드를 100번 반복한다고 했을 때, cashing 하면 변수를 메모리에 저장하니까 빠르게 접근 가능
  • 명령어 면에서 지역성 있음
  • 데이터를 가져오는데 있으면 cache hit, 없으면 cache miss라고 함

Device Driver

  • 각 디바이스 컨트롤러가 I/O를 관리할 수 있게 컨트롤러와 OS 간 통일된 인터페이스 제공
  • 예를들어 A와 B가 아키텍처 동작하는게 다른데, Device Driver가 각각에 맞는 전기적 신호로 바꿔주어 해당되는 동작 하게 함

Computer System Architecture

Multiprocessors(멀티 프로세서)

  • 병렬 시스템에서 주로 알려짐

Advantage

  • 단위시간. 즉, 1초에 더 많은 일 가능
  • 경제적
  • 실패하면 다른 곳에서 실행하며 Reliability(신뢰성)가 높음

2가지 Type

  • Asymmetric Multiprocessing - 각 프로세서가 적합한 특정 task할당, 주종관계
  • Symmetric Multiprocessing - 각 프로세서가 모든 일을 수행, 멀티 프로세서 간은 느리고 멀티코어 안에서는 빠르게 Cache 공유 가능

프로세스

프로세스 관리 (Process Management)

프로세스 : active entity (실행중인 상태)

프로그램 : passive entity (수동적인 상태)

  • Process Termination(프로세스 종료) 하려면 재사용 가능한 리소스를 회수해야함
  • Program Counter(프로그램 카운터) : 다음 실행될 instruction을 가르키는 location
  • Single-Threaded 프로세스는 ****하나의 program counter를 가짐
  • Multi-Threaded 프로세스는 각 thread마다 하나의 program counter를 가짐

프로세스 관리 활동 (Process Managemetn Activities)

  • 유저와 시스템 프로세스들 모두 Creating and Deleting
  • 프로세스를 Suspending(일시정지) and Resuming(재개)
  • 프로세스 동기화(순서)
  • 프로세스 Communication (IPC, 프로세스끼리 정보전달)
  • Deadlock Handling (Deadlock : 서로 자원을 쓰려고 기다리고 있는 상태)

메모리 관리 (Memory Management)

  • CPU는 메모리에만 접근 가능
  • 현재 사용되고 있는 것 track
  • 어떤 프로세스가 메모리에 올라와 있고 나가는 지 결정

Data A를 Disk에서 Register로 Migration

hard disk → main memory → cache → hardware register

  • 멀티 프로세서 환경은 cache coherency(일관성)를 제공해야 함

컴퓨팅 환경 (Computing Enviroments)

  • Client가 request를 만들고 server가 응답
  • Real Time Embedded Systems
    • 특정 역할을 반복하는것을 embedded라고 함
    • 각 시간에 반드시 끝내야 하는 시스템 : real time system
    • Constraints(제약사항)이 만족할 때 행위가 deadline 안에 되어야 함

0개의 댓글