이것도 자료 정리하다가 나온 파일입니다. 20년전 학창시절에 과제물로 만들었던것으로 기억합니다.
1. 개발환경
O/S : Windows 98
CPU : PentiumII 350
RAM : 128M
화면 : 1024X768
Language & Tool : C++, Borland C++ builder 3.0
2. 알고리즘과 기법
C++의 객체지향 기법을 사용하여 Process, list, Queue, Schedul, SchedulFCFS, SchedulSJF, SchedulRR class를 구현하였고, C++ builder3.0에서 제공하는 TlistBox, TEdit, TButton, TTimer, TStringGrid, TLabel, TGroupBox TCheckBox컴포넌트를 사용하였습니다. 그리고 큐는 Linked List로 구현했습니다.
3. 제약사항
– 실시간 스케줄링 (ChechBox를 선택하면)
시작시간 : 0초부터 시작.
프로세스가 들어오는 시간 : 0초 ~ 10초 까지 (11회)
동시에 들어올 수 있는 프로세스 개수 : 0 ~ 4개 랜덤으로 생성
각 프로세스의 CPU버스트(CPU시간) : 1초 ~ 10초 사이 랜덤으로생성
TimeSlice : 2초
컬러수 : 16개
라운드로빈 방식에서 어떤 프로세스가 CPU할당후 선점될때 다른 프로세스 입력이 같은 시간에 들어오는 경우 선점되는 프로세스가 큐에 들어가고 다음에 입력된 프로세스가 큐에 들어갑니다.
– 한번만 입력되는 스케줄링 (CheckBox를 선택하지 않으면)
한번에 들어오는 프로세스의 큐에 도착한는 시간은 모두 묵시적으로 0으로 하였으며, 1~10개의 프로세스가 랜덤으로 입력됩니다.