Skip to content

sumin4747/os-schedular

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OS Scheduler Project

이 프로젝트는 Python Flask와 pywebview를 이용한 멀티코어 FCFS 스케줄러 시뮬레이터입니다.

디렉터리 구조

/ (프로젝트 루트) ├── os_app.py # Flask 서버 및 pywebview 창 생성 엔트리포인트 ├── scheduler.py # FCFS 스케줄링 알고리즘 구현 (fcfs_schedule_multi) ├── requirements.txt # Python 의존 패키지 목록 (flask, pywebview 등) ├── .gitignore # Git에서 제외할 파일/디렉터리 패턴 └── static/ # 프론트엔드 정적 파일 폴더 ├── index.html # 메인 HTML 페이지 ├── app.js # 클라이언트 측 JS: 입력 처리, Gantt 차트 렌더링, 애니메이션 └── style.css # (선택) 차트 및 UI 스타일 정의

주요 파일 설명

os_app.py

Flask 앱을 실행하고, /api/fcfs 엔드포인트를 통해 프로세스 데이터를 받아 스케줄링 결과를 반환합니다.

pywebview를 사용해 데스크탑 GUI 창으로 인코딩된 웹 UI를 띄웁니다.

scheduler.py

fcfs_schedule_multi(processes, cores) 함수 구현부가 들어 있습니다.

Process 목록과 P/E 코어 구성 정보를 받아 First-Come-First-Serve 스케줄링을 수행하고 결과를 리턴합니다.

static/index.html

입력 폼(프로세스 수, 도착/서비스 시간, P/E 코어 설정)과 결과를 볼 수 있는 Gantt 차트를 정의한 HTML 문서입니다.

static/app.js

DOMContentLoaded 이벤트로 버튼 클릭 핸들러(genFields, runFCFS)를 등록합니다.

/api/fcfs 호출 후 스케쥴 결과로 Gantt 차트를 그리고, marker 애니메이션을 실행합니다.

static/style.css

차트 및 버튼, 입력창 등의 기본 스타일을 정의합니다.

requirements.txt

Flask pywebview

pip install -r requirements.txt로 필요한 패키지를 한 번에 설치할 수 있습니다.

실행 방법

의존성 설치

pip install -r requirements.txt

앱 실행

python os_app.py

GUI 창이 열리면 프로세스 수, 도착/서비스 시간, P/E 코어 수 등을 입력하고 스케줄러를 실행하세요.

본 README는 프로젝트의 전체 구조와 각 파일의 역할을 한눈에 파악할 수 있도록 작성되었습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 54.6%
  • JavaScript 39.4%
  • HTML 6.0%