본문 바로가기

전체 글95

스케쥴링 - 멀티 프로그래밍 최대한 CPU를 많이 사용하도록 하는 시스템 - 시간대비 CPU 활용도를 높힌다. - 응용 프로그램을 짧은 시간 안에 실행 완료하는 것을 가능케 한다. 응용 프로그램은 온전히 CPU를 사용하기보다, 다른 작업들을 중간에 필요로 하는 경우가 많다. - 응용 프로그램이 실행되다가 파일을 읽거나, 프린틀를 하거나 등등 응용 프로그램이 다른 작업들을 수행할 때에 CPU가 놀게되면 CPU 활용도가 현저히 낮아진다. 그래서 멀티 프로그래밍일 사용하여, CPU를 활용할 수 있다. 다른 응용 프로그램을 그 시간에 돌린다. 메모리 계층 DMA : CPU가 다녀오기 너무 멀어서 심부름 시키고 자기는 다른 일 한다. CPU 안에 register, cache 등등 있다. 실제로는 시분할 시스템, 멀티 프로그래밍, 테스킹 3가.. 2021. 6. 15.
스케쥴링 배치 처리 시스템 (Batch Processing) 자동으로 다음 응용 프로그램이 실행될 수 있도록 해주는 프로그램 >> 어떤 프로그램이 실행 시간이 오래걸려서, 그 뒤에 있는 프로그램들 역시 지연된다는 단점이 있다. >> 동시에 여러 개의 프로그램이 실행되는 것이 불가능 하다. (음악을 들으면서 문서 작성같은) (동시성) >> 여러 사용자가 동시에 하나의 컴퓨터를 사용하는 것도 불가 >> 응답 시간이 폭발적으로 증가하기 때문에 (다중 사용자 지원) 이러한 문제 때문에 '멀티 프로그래밍 / 시분할 시스템' 이 이러한 니즈들 때문에 등장했다. 멀티 프로그래밍 / 시분할 시스템 시분할 시스템: 시간을 잘게 분할하여, 응답 시간을 최소화 한다. (다중 이용자 가능) 멀티 태스킹: 단일 CPU에서 여러 응용 프.. 2021. 6. 15.
운영 체제의 구조 CPU Protection Ring user mode kernel mode kernel? 1. (견과류, 씨앗의) 알맹이 2. (사상, 주제의) 핵심 shell? 시스템 콜은 커널 모드로 실행된다. 커널 모드에서만 실행 가능한 기능들이 존재한다. 커널 모드를 사용하기 위해선, 반드시 시스템 콜을 이용해야 한다. 시스템 콜은 운영 체제가 제공한다. 동사무소의 비유 2021. 6. 15.
운영 체제 2 운영 체제는 사용자를 위한 인터페이스를 제공한다. 쉘 (Shell) 운영 체제는 응용 프로그램을 위한 (결국은 사용자를 위한 것이지만) 인터페이스를 제공한다. API (Application Programming Interface) 함수 lib (library) USER Application / Shell API Operating System Hardware 시스템 콜 / 호출 : 운영 체제가 운영 체제의 각 기능을 사용하기 위한 명령 / 함수 POSIX API API는 내부에 이러한 시스템 콜이 저장되어 있다. USER APP / SHELL API SYSTEM CALL OS HARDWARE 운영체제 필수 조건 1. Kernel 2. System Call 3. C API (library) (C언어로 She.. 2021. 6. 14.