Computer Science/OS

Operating System Instruction (2)

박붕어 2023. 11. 20. 01:30

Storage Hierachy

Storage System은 속도, 비용(가격),안정성에 따라서 계층적으로 나뉜다.

위로 갈 수록 속도 🆙 , 그만큼 가격도 🆙 / 아래로 갈 수록 보통 용량이 많아진다.

  • Register
  • Cache
  • Main Memory ⬆️ 위로는 휘발성 메모리 : 전력이 차단되면 저장된 데이터가 사라진다.

  • Electronic Disk ⬇️ 아래로는 비휘발성 메모리 : 전력이 차단되어도 저장된 데이터가 사라지지 않는다.
  • Magenatic Disk
  • Optical Disk
  • Magenatic Tapes

Caching

속도가 느린 저장공간에 있는 데이터를 미리 속도가 빠른 저장공간에 옮겨 놓는 것.

ex) Electronic Disk에 있는 데이터를 Main Memory에 Caching한다.

컴퓨터의 많은 Level에서 사용되는 중요한 원칙이다.

Cache의 크기와 Cache Replacement Policy는 컴퓨터의 성능에 큰 영향을 미친다. ⭐

Multitasking 환경에서의 cache

Storage Hierachy에 따라 여러 Storage에 데이터가 저장되어있는 경우, MultiTasking 환경에서는 Most Recent Value( 데이터의 최신 값 )을 사용하는데 있어서 주의해야한다.

왜?

MultiProcessor 환경에서 Cache Coherency (일관성)문제가 발생한다.

한 Processor가 Data1의 정보를 변경했을 때, 다른 Processor가 Cache에 저장되어 있는 변경되지 않은 D1값을 사용하여 문제가 발생할 수 있기 때문이다.

분산처리 환경에서는 이러한 문제가 더욱 복잡해진다.


MultiProgramming

: Job Scheduling을 통해서 Main Memory에 CPU가 처리해야할 작업을 상주시키는 것.

Job1이 I/O 작업을 기다려야 하는 경우 Job2로 대체하여 CPU가 Job2를 처리한다.

MultiTasking (TimeSharing)

: CPU가 매우 짧은 시간마다 Job을 바꿔 여러 일을 동시에 처리하는 것 처럼 보이는 것.

  • Response Time이 중요하다! Response Time이 크면 사용자의 사용감이 떨어진다.
  • Process : 각각의 User들이 하고 싶은 일 ( 메모리 안에 있는 )
  • CPU Scheduling : 동시에 여러 Process가 Ready 상태가 되었을 경우 많은 Process중에서 하나의 Process를 선택하는 일.

OS가 하는일

OS의 기능

  • 하드웨어에서 발생하는 Interrupt처리
  • 소프트웨어에서 발생하는 Trap처리
  • 무한루프, OS의 영역에 접근하는 문제와 같이 Process에서 발생하는 문제를 처리

*OS가 무한루프를 처리하는 방법. → 타이머를 사용하여 일정 시간이 지나면 자원을 회수한다.

  1. OS가 Period( Counter )를 설정한다.
  2. OS가 Counter를 감소시킨다.
  3. Counter가 0이되면 Interrupt가 발생하고 Interrupt가 발생한 프로세스의 자원을 회수한다.

Kernel Mode와 User Mode

OS는 Kernel Mode와 User Mode 두가지 Mode를 제공한다. 이를 Dual-Mode라고 한다.

Mode Bit를 통해서 User Mode와 Kernel Mode를 구별할 수 있다.

Kernel ModeSupervisor Mode, Privileged Mode, System Mode라고도 불린다.

Process Management

Process : 현재 실행중인 프로그램. System에서 작업의 단위

Program 은 수동적인 반면에 Process는 능동적이다. ( 무슨 의미인지는 잘 모르겠다. )

CPU, Memory, I/O, Files 등 자원을 필요로 한다.

  • Single-Thread Process에서는 하나의 Program Counter만 가진다. 이 때, Thread = Process 이다.
  • Multi-Thread Process에서는 Thread 하나당 한개의 Program Counter를 가진다.

*Program Counter : 다음 실행한 Instruction의 주소를 갖고있는 Register

Process Management Activities

  1. User Process, System Process 생성, 제거
  2. Process의 중단, 재개
  3. Process 동기화
  4. Process 간 통신
  5. Deadlock ( 자원의 배분, 관리가 잘 안되서 Process가 먹통이 되는 상황 ) 관리

Memory Management

언제, 무엇이 Memory 안에 있을 것인지를 결정하는 것.

메모리 관리를 잘하면 CPU 이용률 🔝 , 사용자의 사용감 🔝

OS는 메모리를 누가 얼마나 사용하는지 항상 감시하고 있다.

메모리의 입출력과 메모리의 할당과 회수를 담당한다.

Storage Management

OS는 Storage를 균일하고 논리적으로 관리한다.

  • File : 논리적 저장단위

File System Management

: 파일을 Directory로 묶어 관리한다

: 누가, 무엇에 접근할 수 있는지 파일의 접근을 제어한다.

Activities

  1. 파일, 디렉토리 생성과 제거
  2. 파일, 디렉토리 다루기
  3. Mapping files onto secondary storage
  4. Backup Files

Mass Storage Management

: Main Memory에 들어갈 수 없는 큰 데이터를 관리하는 방법

Disk는 Main Memory보다 큰 데이터, 또는 오랜 기간 저장해야 하는 데이터를 저장한다.

Disk는 Main Memory보다 처리속도가 느려 컴퓨터의 처리속도는 Disk의 Subsystem에 의존한다.

Activities

  1. 남은 공간 관리
  2. 저장 공간 할당
  3. Disk Scheduling

I/O Subsystem

OS의 목적은 User에게 다양한 HardWare의 특성을 숨기는 것에 있다.

⇒ User들이 다양한 H.W를 쉽게 사용할 수 있도록 한다.

I/O Subsystem은 Buffering ( 쓰기 ), Caching ( 읽기 ), Spooling ( 동시 병렬 작업 )을 포함하는 I/O의 메모리관리를 수행한다.

공통적인 I/O Device들은 General Device Driver를 통해서,

특별한 I/O Device들은 Specific Device Driver를 통해서 제어할 수 있다.

Protection and Security

Protection : 프로세스들의 자원에 대한 접근 제어 ( 컴퓨터 내부의 충돌을 보호 )

Security : 외부의 공격을 방어.

누가, 무엇을 할 수 있는지 결정하기 위해 User들을 UserID로 관리한다. ⇒ 접근 제어

Computing Environment

전통적인 컴퓨터

  • 사무실 환경 : PC들이 BatchTimesharing을 제공하는 Main Frame또는 mini computer에 연결되어 있음
  • 집 : Single System으로 사용 또는 Modem( 전화선 ) 에 연결

Client - Server Computing

: Server( 요청에 대해 응답 ) 와 Client ( 요청을 보냄 )

Peer To Peer Computing

: Client와 Server의 역할이 없어진다.

Peer가 Client, Server 역할이 둘 다 될 수 있다.

WEB-Based

: 트레픽이 과부화 될 때 부하분산이 필요하다.

Cloud Computing

Saas → Software as a Service

Paas → Platform as a Service

Iaas → Infrastructure as a Service

Xaas → Everything as a Serveice

'Computer Science > OS' 카테고리의 다른 글

운영체제 2강 연습문제  (0) 2023.11.21
Operating System Structures(2)  (0) 2023.11.21
Operating System Structures (1)  (0) 2023.11.20
운영체제 1강 연습문제  (1) 2023.11.20
Operating System Instruction (1)  (2) 2023.11.20