{"id":22757556,"url":"https://github.com/gitanat/cpu_scheduler_emu","last_synced_at":"2025-03-30T08:15:50.596Z","repository":{"id":12860226,"uuid":"15536327","full_name":"gitanat/cpu_scheduler_emu","owner":"gitanat","description":"A pure-python computer emulator for comparing CPU schedulers","archived":false,"fork":false,"pushed_at":"2013-12-30T20:51:45.000Z","size":252,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-05T10:14:40.825Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitanat.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-30T20:50:38.000Z","updated_at":"2019-11-24T10:08:30.000Z","dependencies_parsed_at":"2022-08-30T17:41:17.301Z","dependency_job_id":null,"html_url":"https://github.com/gitanat/cpu_scheduler_emu","commit_stats":null,"previous_names":["gitanat/cpu_scheduler_emu"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitanat%2Fcpu_scheduler_emu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitanat%2Fcpu_scheduler_emu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitanat%2Fcpu_scheduler_emu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitanat%2Fcpu_scheduler_emu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitanat","download_url":"https://codeload.github.com/gitanat/cpu_scheduler_emu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246290721,"owners_count":20753735,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-11T07:18:52.867Z","updated_at":"2025-03-30T08:15:50.576Z","avatar_url":"https://github.com/gitanat.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"To test, please run the interactive command **run.py**\n\nThis program simulates and compares the performance of various CPU scheduling algorithms, including RoundRobin scheduler, O(1) scheduler and stride scheduling.\n\nIt does this by emulating, in pure python, multiple components of a virtual machine, including:\n\n - Hardware\n   - CPU (multiple opcodes, context switching)\n   - RAM\n   - A hardware timer\n   - A I/O device (\"hard disk\")\n   - A PIC (Programmable Interrupt Controller)\n\n - A primitive \"Operating System\"\n   - Relocating Program Loader\n   - I/O and timer drivers\n   - Process Manager (Process Control Blocks, dispatcher)\n   - Multiple CPU scheduling algorithms\n\nIt also includes some sample programs in  \"assembly\" (Fibonacci, sum of natural numbers), a tool to generate (\"assembly\") programs with varying I/O behaviour and tools for automatically loading various multiprocess scenarios and analysing and graphing the process progress and resulting performance (using python-gnuplot).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitanat%2Fcpu_scheduler_emu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitanat%2Fcpu_scheduler_emu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitanat%2Fcpu_scheduler_emu/lists"}