이야기박스
운영체제란, (복습) 본문
▣ 커널모드와 사용자 모드
○ 커널 모드
- 모든 하드웨어에 대한 접근을 가지고 있다.
○ 사용자 모드
- 일부 장치에 대한 명령만 가능
- 기계의 제어, 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 |