issues
search
S9S99
/
Study
Personal study report
0
stars
0
forks
source link
2020/8/5 os
#55
Open
S9S99
opened
4 years ago
S9S99
commented
4 years ago
진행 상황
p.19~ p.24
내용 정리
Operating-System Structure
드디어 펼쳐지는 OS의 신나는 이야기
Multiprogramming이 가능. 싱글프로그램에서는 하나의 프로그램이 항상 자원을 붙들고 있지만 멀티프로그래밍은 여러 프로그램을 메모리에 로드해두고 번갈아가며 실행해서 cpu를 놀지않게 효율적으로 사용할 수 있다.
메모리에 OS와 여러 job이 로드되어있는 형태지만 메인 메모리는 모든 job을 담기에는 작기 때문에 job pool에서 관리
Time sharing(또는 Multitasking)이라고 하는 기법으로 프로세스마다 정해진 시간 자원을 번갈아 쓰면서 실행되는 방식으로 동시작업에 가까운 동작을 수행
잡스케쥴링, cpu스케쥴링 같은 기법은 챕터5에서 다시만납시다
이런 기법에서 메모리를 너무 많이 사용할 경우 보조기억장치를 가상메모리로 이용해서 물리메모리보다 큰 프로그램을 다룰 수 있는데 이것도 9장에서 다시만납시다
Operating-System Operation
현대의 os는 interrupt driven으로 인터럽트가 있을 때까지 대기한다
trap(또는 예외)은 소프트웨어에서 인터럽트를 발생시키는 것이다. 발생하지 않도록 하여야함. 예외는 0으로 나눔 같은거인줄 잘 알고계시죠?
에러관리가 제대로 되지 않으면 한번에 하나의 프로세스 밖에 실행하지 못하고 결과가 나올때까지 아무것도 못하는 물건이 될것이다
Dual-Mode and Multimode Operation
os는 유저모드와 커널모드로 나뉘어져있다
모드비트로 커널이 0 유저가 1로 구분함
부팅할 때 하드퉤어는 커널모드로 실행. os가 로드되고 유저 어플리케이션을 유저모드로 시작함
듀얼모드는 잘못된 유저로부터의 공격도 방어해준다. privileged instruction(특권명령)이라 불리는 중요한 명령은 os만 할 수 있게 되어있다
Timer
os는 유저프로그램이 무한 루프나 에러로 제어권을 넘겨주지 않는 상태를 막기위해 타미어를 이용한다
타이머는 일정 주기로 인터럽트를 발생 시킨다
os->유저 일떄 타이머를 세팅하는 식
유저 프로그램이 너무 오랫동안 실행되는 사태를 막을 수 있다.
진행 상황
내용 정리