본문 바로가기

반응형

OS

반응형
(26)
[운영체제]FIFO/FCFS (피포/first come first served)정의와 문제 & Convey Effect 운영체제 목차 오늘 수업부터 스케줄링 알고리즘을 하나하나 살펴보려고 합니다.이 FIFO 자료구조 stack에서 많이 보았던 문구죠? 하지만 지금 얘기하는 것은 CPU 스케줄링이에요 FIFO(first in first out) = FCFS(first come first served)제일 첫 번째 나오는 알고리즘이 FCFS 또는 FIFO라고 불리는 알고리즘입니다. 말 그대로 들어오는 순서대로 처리하는 알고리즘이예요. A프로세스가 들어오고, B프로세스가 들어오고 하면 A먼저 처리하고 그 다음 B먼저 처리하고 하는거죠. 이게 왜 모든 스케줄링의 알고리즘에 제일 첫 번째로 나올까요? 이 알고리즘이 제일 FAIR한 시스템이기 때문이예요. 먼저온 사람이 먼저 할당받는거니 공평하죠! 그렇기 때문에 첫 번째로 나옵니다...
[운영체제]PCB (Process Control Block)란? PCB 정보 & Context Switching 문맥교환 & Overhead 오버헤드 운영체제 목차 프로세스의 정의와 프로세스 상태에 대한 이해를 기반으로 하고 있습니다. 헷갈리시는 분은 이전 포스팅 보고 오기 프로세스를 조금 어렵게(?) 이렇게 표현하기도 해요 프로세스는 프로세서에 의해 수행되는 프로그램 단위로 현재 실행 중이거나 곧 실행 가능한 PCB(Process Control Block)을 가진 프로그램이다. 음.. PCB가 프로세스와 관련된 건 알겠는데 PCB는 무엇을 의미할까요? PCB (Process Control Block)란? ♣ 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 구조체이다. ♣ 프로세스 상태 관리와 문맥교환(Context Switching)을 위해 필요하다. ♣ PCB는 프로세스 생성 시 만들어지며 주기억장치..
[운영체제]Process Address Space 메모리내 프로세스 구조 (Code segment, static data 등) 운영체제 목차 이전 포스팅에서 프로세스와 프로그램의 차이를 알아봤어요! 프로세스와 프로그램 차이 요약 다시 정리하면 프로그램은 실행 파일로, 파일 시스템으로 존재하는 것이 실행파일이고,실행을 해서 실행되고 있는 주체를 프로세스라고 했습니다.즉 실행중인 프로그램의 하나의 인스턴스라고 생각하면 된다고 했습니다.결국 수행과 스케줄링의 가장 기본적인 단위인 것이죠! Process ID를 PID라고 줄여서 이야기를 하고, Windows에서도 ctrl+alt+delete를 누르면 작업관리자가 뜨면서 실행중인 프로세스들을 확인할 수 있고 세부정보에 들어가면 PID를 볼 수 있습니다. 작업관리자 PID는 다 숫자로 나옵니다@ Process Address Space 프로세스 메모리 구조 프로그램이 실행이 되어야 프로세스..
운영체제_컴퓨터구조, device controller(장치 제어기) [운영체제(OS) 목차 &책 추천]운영체제를 시작하기 전에, 컴퓨터 구조 또는 컴퓨터 시스템 구조 과목을 먼저 학습하고 시작하는 것을 권장합니다. 다 했다는 가정하에(?)오늘은 간단한 리프레쉬(refresh)를 통해 컴퓨터 구조를 살짝만 짚고 넘어가는 시간이 될거예요 운영체제가1. 하드웨어를 몰라도 쉽게 사용할 수 있도록 하드웨어를 이용해서 프로그램 할 수 있도록 2. 하드웨어가 효율적으로 동작할 수 있도록 놀지 않게 1000프로의 성능을 발휘할 수 있게 해는 역할을 한다고 저번 포스팅에서 말했었어요~ 그래서 운영체제와 하드웨어는 뗄레야 뗄 수 없는 관계입니다.그래서 컴퓨터 구조는 당연히 알고 있어야 해요.운영체제의 일은 하드웨어를 관리하는 일이니까요 컴퓨터 구조 자아ㅏㅏ컴퓨터를 이루고 있는 구조를 보여..
[운영체제]시스템에 따른 스케줄링의 목표 (Scheduling goals) [운영체제(OS) 목차 &책 추천] 저번시간에 스케줄링이 무엇인지! 좋은 스케줄링 알고리즘에 대해 알아봤어요 이번에는 스케줄링의 목표 다음시간에는 non-goals (하지 말아야 할 것 - 대표적: starvation)에 대해서 알아볼게요 스케줄링의 목표 Scheduling Goals 일단 보편적으로 스케줄링에는 목표가 있습니다.공평해야 해요!! 컴퓨터 시스템에서는 가장 중요한 원칙이 fairness입니다. 어느 하나 놀고 어느 하나는 바쁘게 일하고 이렇게 스케줄링 하지 않는 것이 목적입니다. 그래도 특정 컴퓨터 시스템마다 추구하는 것이 조금씩 다를 수 있다.사실 이번 내용은 앞의 포스트에서 이루어졌던 scheduling criteria를 확실하게 이해하고 계시면 다 유추 가능한 내용들입니다.Schedu..
[운영체제]Multilevel Queue 다단계큐, 멀티레벨큐 [운영체제(OS) 목차 &책 추천]Multilevel Queue 다단계 큐란? 이 포스팅을 보기전에 RR과 FCFS에 대해서 이해를 하고 오셔야합니다RR과 FCFS가 무엇인지 잘 모른다면 이전 포스팅을 보고 오시는 것을 추천드려요Multilevel ->여러 개의 레벨! 즉 프로세스들을 중요한거 안중요한거 여러 레벨의 그룹으로 분류한다는 것. 즉 어떤 프로세스냐에 따라서 여러 종류의 그룹으로 나누고 여러 개의 큐에 다양한 알고리즘을 적용하는 스케줄링 기법이예요. 운영체제는 프로세스들을 분류할 때 보통 사용자와 상호작용하는 앞단의 프로세스들은 중요하다고 판단하고 백그라운드에서 돌아가는 프로세스(일괄처리형 batch processes)들은 상대적으로 덜 중요하다고 판단하여 분류하는 것이 일반적이에요. 이렇게 ..
[운영체제]CPU burst VS I/O burst 운영체제 목차 CPU burst VS I/O burst 프로세스는 CPU burst와 I/O burst가 왔다 갔다 왔다 갔다 서로 바뀌면서 프로그램을 실행합니다. CPU burst는 말 그대로 CPU 명령을 실행하는 것을 말하고I/O burst는 I/O를 요청한 다음 기다리는 시간을 말해요! 프로세스는, 명령어를 수행하다가 I/O를 기다렸다가, 해결이 되면 다시 CPU에서 남은 명령어를 돌렸다가.. 이를 반복합니다. 만약 어떤 프로세스의 CPU burst time이 10초라고 하면, 이 프로세스의 어떤 특정 작업이 완료되기 위해서는 CPU가 10초동안 이 프로세스를 작업해줘야 한다는 거예요. 그 다음 I/O burst가 왔다는 것은 10초 동안 이 작업을 한 후에, 키보드로부터 입력을 받는 작업이 뒤따..
[운영체제 IPC]메세지 교환(Message passing) vs 데이터 공유(Shared memory) 프로세스간 통신! 운영체제 목차 IPC = Inter-Process Communication 협력을 위한 소통 방법! IPC Processes executing concurrently in the operating system may be either independent processes or cooperating processes. A process is independent if it cannot affect or be affected by the other processes executing in the system. Any process that does not share data with any other process is independent. A process is cooperating if it can ..