본문 바로가기

학교공부/운영체제

운영체제 요약

operating system goal

  • computer system 효율적 관리
  • 편리한 인터페이스
  • hw자원 관리
  • user program 실행

 

 

커널 + 시스템프로그램 = 운영체제

시스템프로그램 = 꼭 깔리는 프로그램 ( 윈도우 탐색기 같은거)

 

cpu가 i/o 컨트롤하기 위한 controller있음

h/w자원 : resource

이런거 복잡해서 관리 대신해주는게 os

 

cpu는 명령내리고 다른거 한다.

i/o controller가 일다하면 cpu한테 알려줌 (interrupt)

 

 

CPU

Instruction Set Architecture

RISC CISC

reduced 적은 명령어로 복잡한 기능을 구현해서 성능이 CISC보다 좋음.

 

 

 

 

Dual Mode operation

1. User mode

2. Monitor mode (kernel mode)

 

I/o 장치 수행 같은건 os가 한다.

 

trap : cpu가 스스로 인터럽트 거는거

memory protection이나

이상한 연산했을 때 trap으로 os불러서 처리

 

Timer interrupt 주기적으로 인터럽트 건다.

 

 

Parallel System 병렬시스템

보드에 cpu 여러개 달기

 

장점 : throughput 증가 경제적 신뢰도 보장(하나 고장나도 다른데서 실행)

SMP : 동일한 성능 cpu 사용 (대부분 이거씀)

Asymmetric multiprocessing : 성능좋은 cpu 박고 나머지가 이거 support

 

Distributed System 분산시스템

보드 위에 cpu들이 네트워크로 연결돼 있다.

각 cpu마다 독립적인데 그것들이 네트워크로 합쳐져서 같은 일을 한다.

 

 

 

 

Real-Time system

- 보통 pc는 프로그램 수행에 제약시간이 없는데 이건 있는거김

hard 못지키면 난리남

soft 지키는게 좋음 (동영상 재생)

 

Monolithic Kernel

운영체제의 모든기능 같이 개발됨

ex) unix

커널크기가 커서 작은 기기에는 쓰기 힘듬

 

Micro kernel

필요한것만 뽑아서 개발

다른기능은 application process로 구현ㄴ

 

 

 

system call : fork같은거

usermode에서는 I/o protection 때문에 직접 제어안한다. 

usermode에서 trap걸면 kernel mode로 간다.

 

 

언제 os가 실행되냐?

 

 1. 부팅 2. 서비스요청 3. interrupt (hw interrupt, timer interrupt)

cpu는 놀지않는다. 할거없을때는 Idle이 무한루프로 돌아감.

 

 

 

 

Bootstrapping

처음 부팅되면 fixed location 먼저 실행 rom에 존재

이 명령어가 BIOS/UEFI로 이동시킴

BIOS/UEFI 얘들이 Boot Loader(os를 메모리에 올림) 

 

 

program : hw에 존재하는 실행파일

process : 그걸 메모리에 올려서 실행시키는 instatnce

 

 

process address space

 

 

Process state

 

process control block

 

context switch

 

 

 

 

 

process 여러개는 비효율적

process하나에 여러개의 실행 path를 만들자 -> thread

실행path = PC,SP,Register 등등

 

thread 추가되면 

 

thread 장점 

resource share 편함

효율적임

응답성 좋음.

 

 

 

thread

User-level thread

라이브러리 형태로 가져와서 사용

커널은 thread가 있는지 모름

i/o 빈번하게 사용하면 성능저하(interrupt 생기면 그냥 전체 프로세스 block해버림)

 

kernel-level thread

kernel에서 thread 지원

thread 별로 state 관리

 

 

 

kernel thread 와 user thread

many to many 방식

 

 

 

 

 

5장

i/o bound : i/o 사용량이 많은 프로그램

cpu bound : cpu 사용량이 많은 프로그램

 

CPU scheduler

schedule 고르기 dispath 고른거 cpu에 올리기

 

preemptive vs Non-preemptive

선점 비선점

비선점 : ㅡㄱ냥 하던대로 

선점 : 우선순위에 따라 중간에 가로채기 가능

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'학교공부 > 운영체제' 카테고리의 다른 글

Secondary-Storage Architecture  (0) 2020.06.12
Implementing File Systems  (0) 2020.06.08
Virtual Memory Management-2  (0) 2020.06.01
Virtual Memory Management  (0) 2020.05.29
Memory Management Strategies - 3  (0) 2020.05.25