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

 
 
 

Contributors

Languages

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