본문 바로가기

IT

OS(Operating System)공룡책 1장 시험대비 정리자료 - 달달 외우기


지난번에 해피캠퍼스 수익에 대해서 포스팅 한적이 있습니다.
해피캠퍼스에 올린 자료중에 "OS(Operating system) 공룡책 시험 정리자료"라는 콘텐츠가 있는데
판매량은 1을 기록하고 있는 등 매우 저렴합니다. 그래서 이럴바에 블로그에 공개 하고 필요하신 분들이 받아가면 좋겠다는 생각을 하게 되었습니다. 아래는 해피캠퍼스 판매 메세지 입니다.

OS 공룡책 시험대비 요점 정리입니다.

영어 공부하기 불편하여 한글로 요점정리 해둔 후 출력후 달달외워서 시험봤습니다.


오늘은 공룡책 1장을 정리해 둔 것을 공개 하겠습니다. 총 3장이고 중요한 부분만 해뒀으니 프린트해서 달달 외우시면 평타는 치지 않을까 싶습니다.(공룡책이 업데이트 되어도 내용에 큰 변화는 없다고 생각됩니다만, 지난 3년간 업데이트 되지 않았다는 가정이 필요합니다.)


1장 Operating system : 컴퓨터의 유저와 하드웨어 사이에서 중재자 역할을 하는 프로그램으로 resource allocator와 control program의 역할을 한다. *bootstrap program은 ROM이나 EPROM에 저장되어 있고 reboot이나 power때 load된다. Device controller 이것의 operation이 끝낫음을 interrupt로 CPU에게 알려준다. Interrupt는 interrupt vector(모든 service routines의 주소가 담겨있음)를 통해서 interrupt service routine에게 control를 전달한다. 다른 interrupt를 처리되고 있는 동안에는 새로 오는 interrupt는 disable된다(lost interrupt를 막기 위 해서) Trap : user request나 error에 의한 software-generated interrupt * operatin system은 interrupt driven이다.(장점 : CPU가 event를 기다릴필요 없다) Operatin system은 registers와 PC를 저장함으로 CPU의 상태를 보존한다. Types of interrupt - Polling : survey, examine, checking 같은 것 (단점 : 느리다. 일일이 조사해봐야되기때문) - vectored interrupt system : address를 보내는 방법. 빠르고 interrupt의 base(대부분) Two I/O structure - Synchronous : I/O가 시작된 이후에는 control은 I/O가 끝나야 user에게 돌아온다.(wait loop) - Asynchronous : I/O가 시작된 이후에는 control이 I/O가 끝나는 것을 기다리지 않고 돌아온다. System call : Device-status table : 각 I/O device(type, address, state)를 위한 entry를 가지고 있다. (main-memory에 있음) DMA(Direct Memory Access) : 만약 4ms마다 인터럽트가 발생되면 CPU는 각 인터럽트에 응답하기위해 2ms가 필요하다고 가정할 때, 프로세스 실행을 위한 시간이 많이 남지 않는다. 작은 양의 data를 전송 시 에는 괜찮지만 다량의 data전송 시에는 overhead가 너무 크가. 그래서 DMA를 사용한다. * DMA controller는 I/O device를 위해 buffer, poniter, counter를 설정하고 device controller는 전 체 데이터 블록을 CPU의 간섭없이 직접 버퍼에서 메모리로 전달한다. (device driver에게 operation이 끝났음을 알리기 위해 block단위로 인터럽트 발생됨. byte 단위 아님) device controller가 이렇게 하는 동안 CPU는 다른 작업을 할 수 있다. user mode : executing user program(mode bit=1) kernel mode : executing OS program(mode bit=0) Program counter(PC) : specifying location of next instruction to execute * multi-threaded process은 하나의 thread당 하나의 PC 있음 * thread switching이 context switching보다 빠르다. thread switching이 보다 적은 양의 정보를 저장해야 되기 때문이다 OS목적: 프로그램실행, 문제해결, 컴퓨터 시스템을 편리하게 사용 H/W를 효율적으로 사용 컴퓨터 시스템: H/W(기본적인 컴퓨터 자원 제공), OS(H/W, app, user 간의 조정, 제어) APP(user에 의 해 시스템 자원이 컴퓨터 문제를 어떻게 사용하는지에 대한 방법을 정의) user 응용프로그램은 systemsoftware와 utility를 통하거나 직접 시스템 호출을해 HW사용을 요청 커널: 컴퓨터에서 항상 실행되는 하나의 프로그렘 bootstrap: 컴퓨터가 처음 구동되면 초기에 실행될 프로그램 컴퓨터 시스템 동작: bootstrap program이 적재(ROM) H/W초기화, 운영체제 커널을 주기억장치에 적재 하고 커널을 실행, 인터럽트: 1.현재작업 중단(보관) 2.인터럽트 종류 분석, 3.인터럽트 수행, 4.원상복구 Memory-mapped I/O(주기억 장치의 일부 조서가 입출력에 의해 예약) -Programmed IO (폴링 CPU가 주기적으로 직접 인터럽트 체크) -interrupt driven(I/O장치가 CPU에 인터럽트 신호 전달) Two I/O Methods: -Synchronous: 입출력이 시작되면 요청한 프로세서는 입출력이 완료될 때까지 기다린다. -asynchronous: 요청한 프로세서~~~기다리지 않고 다른 작업 수행 DMA: 빠른 I/O전송, CPU의 개입 없이 직접 I/O와 통신(블록단위 인터럽트 바이트단위) Storage Structure: Storage Hierarchy register- cache -main memory -electronic disk- magnetic disk- optical disk -magnetic tapes (->갈수록 : 용량 증가 speed 느려짐(access time증가), cost 내려감, main memory까지는 volatile(휘발 성)) cache: principle of locality를 활용(temporal locality, spatial locality) 자주 사용하는 정보를 저장해 두고 메인 메모리 참조 회수 를 줄임 multiprocessors system: = paralle system, tightly-coupled system -장점: throughput 증가(작업 처리량), 경제적, 신뢰성 증가 -비대칭형 asymmetric multiprocessing: 각각의 프로세서는 특정 업무를 배정, master 프로세서가 slave프로세서에게 작업 스케줄을 결정하여 할당 -대칭형 symmetric multiprocessing: 각각의 프로세서가 대등 같은 수준의 일 Clustered System: 다중 CPU를 사용. multiprocessors system과 다르게 여러개의 시스템을 밀결합하 여 사용한다. 비대칭: 하나의 컴퓨터만 활성화 상태, 나머지는 대기 상태 대칭: 각 컴퓨터 모두 응용프로그램 수행을 동시에 하고 서로 감시한다. Dual-Mode Operation: -user mode: 컴퓨터 시스템이 user application을 실행 할 때(mode bit = 1) -kernel mode: 컴퓨터 시스템이 application 요청을 os에 할 때 ex)boot time, Interuupt occurs(mod process management memory management storage management I/O subsystem Protection and Security simple batch system 요청 작업을 모아두었다가 한꺼번에 처리(천공카드 이용) -시스템 지향적 장점: 작업처리량, 향상, 자원활용률 증가 단점: 생산성 저하, 유휴시간(cpu 쉬는시간) Multiprogramming Batch System 여러개의 프로그램이 동시에 메모리 적재, 하나의 프로그 램이 대기상태면, 그동안 다른 프로그램 진행 (CPU scheduling, job scheduling) Time Sharing System 목적 batch multi time sharing 프로세서 사용 최대화 응답시간 최소화 명령어 job control language commands(터미 널에서 입력된) Interactive computing, 사용자들이 컴퓨터시스템들과 대 화형으로 작업 처리, 정해진 시간이 되면 무조건 다음 순 서의 작업을 실행, 여러 사용자가 동시에 컴퓨터 사용(가 상메모리 사용) Real Time System hard real time 중요한 작업이 정해진 시간내 에 완료 됨을 보장, 이를 위해 시스템 내에 있는 모든 지연 은 엄격한 시간 제한을 가짐 soft real time 중요한 작업이 우선순위가 높 게 실행되지만 엄격하게 정해 진 시간 내에 완료됨을 보장 하지는 않는다. 프로세서 작동이나 데이터 흐름에 엄격한 시간제약이 있을 때 사용, 작업의 효율보다는 지정시간 안에 정확하게 처리 Distributed System 분산처리 시스템 NetWork기반의 일관된 현경 구출을 위해 구성된 시스템 클라이언트-서버 환경 -물리적분산, 통신망을 이용한 상호 연결 -low cost, high performace -구축이 어렵다. 다중처리 시스템 컴퓨터 시스템을 여러개의 CPU로 구성, 신뢰성과 컴퓨터 의 능력을 증대, 강 결합 다중처리, 약 결합 다중처리, bit = 2) 커널의 주요 기능: H/w리소스 관리, S/W리소스 관리 Process: 실행중인 프로그램, (program: passive, process: active)

os1장_시험대비.pdf

반응형