Nyong!

1. Introduction 본문

Study/Operating System

1. Introduction

신뇽! 2022. 2. 9. 13:31

전공에서 배운 운영체제를 복습한다. 대부분의 내용은 수업에서 사용한 슬라이드를 기반으로 작성됨.

 

운영체제란?

컴퓨터의 하드웨어를 관리하기 위한 소프트웨어. ex) Linux, Window, Android, macOS, iOS

운영체제가 하는 것

  • 유저(or 유저 프로그램)와 하드웨어의 중개자 역할
  • 컴퓨터 하드웨어 관리
  • 효율적인 프로그램 동작
  • 컴퓨터 시스템 보호

운영체제 환경

user program or system programs
Operating system User interface System call
Resuerce management I/O operation
File systems communication
Error detection Protectin & security
computer hardware

운영체제 특징

  • 가상화(Virtualization)
  • 동시성(Concurrency)
  • 지속성(Persistence)

가상화

-> 가상화를 통해 프로그램은 제한없는 리소스 상에서 오로지 그 프로그램만이 실행되고 있다고 생각할 수 있다.

  • CPU 가상화 : 프로그램은 동시에 실행되는 다른 프로그램들을 신경쓰지 않아도 된다.
  • 메모리 가상화: 프로그램은 physical 메모리를 신경쓰지 않아도 된다.

동시성

  • 멀티 프로세싱 : 여러개의 프로세스가 동시에 실행된다. 각 프로세스는 각각의 private memory space를 갖는다.
  • 멀티 스레딩: 하나의 프로세스는 여러개의 스레드를 통해 실행된다. 스레드들은 memory space를 공유한다. 공유된 데이터를 사용할때는, 의도한대로 동작하기 위하여 lock 등을 사용해야 한다.

지속성

  • DRAM : 메인 메모리로 활용된다. 전원이 꺼지면 데이터를 잃는다.(휘발성 메모리)
  • HDD / SDD : 데이터의 보관을 위해 사용되는 비휘발성 메모리

휘발성 메모리인 RAM만을 사용하면, 데이터는 지속될 수 없다. 데이터의 지속을 위하여 비휘발성 메모리가 사용되고, 운영체제는 이러한 데이터의 관리을 위하여 file system을 사용한다.