안녕하세요! 보라입니다💜
현재 저는 Operating System이라는 과목을 수강하고 있어요!
내용이 많이 어렵길래 중간고사가 찾아오기 전에 미리미리 정리해보려고 합니다!
- OS란?
- OS Structure
- Process
- Process Scheduling
- Thread Concurrency
- Synchronization Tools
Operating System의 준말.
OS의 역할 (정의)
① resource allocator : 자원들을 할당함
② program controller : 프로그램을 관리
① Bus
-> 중요 구성품들을 연결, 데이터와 명령 전달
② Bus arbiter(관리자)
-> multiple bus 요청들을 관리
③ Bus master(보내는 쪽)
-> 요청 신호를 보내서 bus transaction을 만듦 ex) CPU, Device Controllers(보낼 수도 있고)
④ Bus slvae(받는 쪽)
-> 요청 신호를 받고 명령 수행 ex) Memory, Device Controllers(받을 수도 있음)
⑤ I/O controller registers
-> CPU 명령에 따라 입출력 작업을 수행
① Output register가 read 가능한지 체크
② 만약 가능하다면, 명령 → control register, 데이터 → data register 이렇게 전송
③ 만약 불가능하다면, ①을 계속 반복하여 체크
① Polling I/O
-> CPU가 주도해서 작업 완료했는지 체크
② Interrupt-driven I/O
-> CPU는 명령만 한 번 수행하고, I/O Controller가 작업 후에 CPU에 전달
① Memory-mapped I/O
-> memory와 I/O가 같은 주소 공간을 사용
② Port-mapped I/O
-> I/O 장치들을 위한 고유의 주소 공간이 존재함. 각각 포트번호 사용
CPU가 프로그램을 수행하다가, 입출력 장치나 예외 상황 등이 발생하여 처리가 필요할 때, 마이크로프로세서에게 알려 처리할 수 있도록 하는 것.
① CPU는 위에서부터 내려오며 프로그램을 실행하고 있다.
② Interrupt 발생! 이때 하던 명령까지만 수행한 후에 하던 일을 PCB(Process Control BLock)에 memory, register 등... 그대로 저장해놓는다. 그리고 PC(Program Counter, 레지스터의 한 종류)에 중단된 명령의 주소를 저장한다.
③ Interrupt vector에서 IRQ(Interrupt Request) number를 이용하여 ISR(Interrupt Service Routine) 주소 정보를 받아온다.
④ ISR로 점프하여 루틴을 수행한다.
⑤ 저장해놨던 일로 돌아와서 다시 수행한다.
OS Design에서 중요한 정책!
-> Policy와 Mechanism을 구별함
① Policy
-> 뭘 수행할까? (머리) ex) 어떤 반찬을 집을 지 고민
② Mechanism
-> 어떻게 할까? (몸) ex) 입에 넣고 씹음