이야기박스

운영체제란, (복습) 본문

Computer & Data/Operating System

운영체제란, (복습)

박스님 2017. 4. 3. 18:55
반응형


▣ 커널모드와 사용자 모드

○ 커널 모드 

- 모든 하드웨어에 대한 접근을 가지고 있다.

○ 사용자 모드

- 일부 장치에 대한 명령만 가능

- 기계의 제어, I/O와 같은 작업은 불가능





▣ 시분할 시스템 ( time sharing system) & 다중프로그래밍 ( multiprogramming)

○ 시분할 시스템

- CPU관점에서의 시간 다중화를 이용한 시스템

○ 다중프로그래밍

- 메모리 관점에서 공간 다중화를 이용한 프로그래밍 기법





▣ 멀티프로세싱(multiprocessing) & 멀티스레드(multithreads)

○ 멀티프로세싱

- 다수의 프로세서를 이용, 프로세스를 동작하는 기법

○ 멀티스레드

- 프로세스 내부에 다수의 스레드를 이용하는 기법





▣ 트랩 & 인터럽트

○ 공통점

- 사용자 모드 --> 커널 모드로 전환

○ 차이점

- 트랩은 프로그램으로부터 정해진 때, 발생

- 인터럽트는 언제 발생할지 정해지지 않음




▣ I/O 장치가 입출력을 하는 방법 3가지

○ 입출력하는 동안 polling --> 기다린다 (busy waiting) -> 완료 후 실행

○ 인터럽트를 이용 --> I/O 수행 중, 다른 작업을 함 --> I/O 완료시 인터럽트로 알림

○ DMA 칩을 이용





▣ 운영체제가 자원을 공유하는 방식

○ 시간 다중화

○ 공간 다중화





▣ 운영체제가 메모리를 관리하고 보호해야 하는 이유

○ 멀티프로그래밍 

-> 메모리에 여러개 프로그램 사용

-> 관리, 보호가 필요하다.






▣ 프로그램의 실행 사이클 & 성능 향상을 위한 2가지

○ 명령어 fetch --> 명령어 decode --> 명령어 execute

○ pipe line(명령을 병렬구조로 수행하는 기법)과 super scalar(파이프 라인을 여러개 두는 기법)







▣ 운영체제의 주된 두가지 기능 ( 사용자 관점 / 시스템 관점 )

○ 사용자 관점 : 추상적 모습 제공

○ 시스템 관점 : 하드웨어 자원 관리






▣ 메모리 계층 구조 , 레지스터 & 캐쉬란?

○ 레지스터 : CPU 내부에서 사용되는 임시 기억 장치

○ 캐쉬 : CPU와 Memory 사이의 속도차이를 개선하기 위한 기억 장치






▣ 프로세스 테이블의 필요성 & 단일 시스템에서도 필요할까?

○ 교대로 프로세스를 실행하려면 이전 프로세스의 대한 정보가 필요하다. --> 프로세스 테이블이 필요

○ 운영체제 또한 프로세스이기 때문에 프로세스 테이블 필요하다.





▣ 윈도우에서 '새폴더 생성' 시, 실행 메커니즘

○ 새폴더 생성 클릭

-> 현재의 모든 정보 저장 후 커널 모드 전환

-> 커널 모드에서 새폴더 생성

-> 기존의 정보 불러옴

-> 생성 완료

( Event Driven 방식 ) 





▣ 운영체제에서 시스템 호출의 용도

○ 응용프로그램이 자원 접근을 하기 위하여


반응형

'Computer & Data > Operating System' 카테고리의 다른 글

운영체제) 스케줄링  (0) 2017.05.14
운영체제) 프로세스간 통신  (0) 2017.04.17
운영체제) 스레드 2  (0) 2017.04.03
운영체제) 스레드  (0) 2017.04.01
운영체제 ) 프로세스  (0) 2017.03.31