본문 바로가기

운영체제9

5. 운영체제 - 스케쥴링 (배치 처리, 시분할 시스템, 멀티 프로그래밍) 배치 처리 시스템은 App1과 App2가 있을 때, 순차적으로 App1이 끝나면 App2가 실행되도록 할 수 있는 시스템입니다. 따라서, Queue 구조와 유사합니다. Queue 구조는 한 방향으로 들어가서 순차적으로 출력하는 구조이기 때문입니다. 이는 회계에서의 First In, First Out인 FIFO 선입선출과 유사한 의미입니다. 배치 처리 시스템 이후 왜 시분할 시스템, 멀티 태스킹, 멀티 프로그래밍이 등장했을까요? 여러 프로그램을 순차적으로 실행시킬 때, 순서가 뒤에 있는 프로그램들은 너무 오랜 시간을 기다려야 하기 때문입니다. 또, 음악을 들으면서 문서 작성을 하고 싶다면, 배치 처리 시스템에서는 이뤄질 수 없기 때문입니다. 마지막으로, 여러 사용자가 동시에 하나의 컴퓨터를 쓰지 못하기 때.. 2019. 12. 26.
4. 운영체제 - 사용자 모드와 커널 모드 사용자 모드와 커널 모드에 알아봅시다. CPU도 권한 모드를 가지고 있는데, 대표적으로 2가지가 있습니다. 1) 사용자 모드(user mode (by application)) 2) 커널 모드(kernel mode (by OS)) : 특권 명령어 실행과 원하는 작업 수행을 위한 자원 접근을 가능하게 하는 모드 인텔 CPU를 기준으로, Ring 0, 1, 2, 3 이렇게 4가지가 존재하는데, 대부분의 운영체제는 Ring 0과 3만 사용합니다. Ring3을 사용자 모드로 지칭하고, Ring0을 커널 모드로 지칭합니다. 즉, Ring 3모드에서 Ring0 특권 명령을 사용하려고 하면 실행되지 않는 것입니다. 이렇게, 우리가 만드는 프로그램이나 사용하는 프로그램은 맨 위인 응용 프로그램인데요, 그 응용프로그램이 .. 2019. 12. 24.
3. 운영체제 - 시스템 콜(System Call) 오늘은 운영체제의 시스템 콜(System Call)에 대해 공부해보도록 하겠습니다. 1. 운영체제는 사용자 인터페이스를 제공하는데요, 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 쉘(Shell)이란 프로그램이 있습니다. 쉘은 터미널 환경(CLI)과 GUI환경 두 종류로 분류되며, 리눅스 터미널에서 ls 라는 일종의 사용법을 활용하여 명령을 내리면 그에 해당하는 명령 수행을 하게 돕습니다. 즉, 사용자와 OS사이의 소통창구 같은 것입니다. 2. 운영체제는 응용 프로그램을 위한 인터페이스도 제공합니다. 이것을 바로 API(Application Programming Interface)라고 합니다. API는 함수 형태로 제공되며, C언어에서 open()같은 거라고 보시면 됩니다. 보.. 2019. 12. 24.
2. 운영체제의 역사 -1950년대 *ENIAC, 첫 번째 컴퓨터이자, 운영체제가 없음. 1개의 응용 프로그램을 실행시키기도 힘든 수준이었고, 운영체제가 없어서 응용 프로그램이 시스템 자원을 제어하는 형태였다. -1960년대 초반 *프로그램 종류도 많아지고, 사용자도 점차 증가했던 시기 *배치 처리 시스템(Batch Processing System) 출현 (여러 응용 프로그램을 순차적으로 실행하는 시스템) *배치 처리 시스템을 기반으로 운영체제가 출현 *배치 처리 시스템은 순차적으로 실행할 프로그램을 등록(순서 포함), 순차적 실행 *단 배치 처리 시스템은 컴퓨터 응답 시간(response time)이 오래 걸릴 수 있음. (프로그램1은 12시간, 2는 1분 소요되고, 1, 2 순서로 실행될 경우 2는 1분밖에 안걸림에도 1.. 2019. 12. 23.