{"id":23156125,"url":"https://github.com/adhadse/osprograms","last_synced_at":"2026-05-17T17:35:54.081Z","repository":{"id":104009930,"uuid":"345099970","full_name":"adhadse/OSPrograms","owner":"adhadse","description":"This repo holds my OS Lab programs for the Fourth Semester. Feel free to use and learn from them,","archived":false,"fork":false,"pushed_at":"2022-09-17T05:12:44.000Z","size":406,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T17:32:27.560Z","etag":null,"topics":["bankers-algorithm","cpp","kotlin","operating-system","os","page-replacement-algorithm","scheduler"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adhadse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-06T13:25:29.000Z","updated_at":"2021-12-23T05:42:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"924ccc91-3295-471b-87d6-a69517456419","html_url":"https://github.com/adhadse/OSPrograms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adhadse/OSPrograms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhadse%2FOSPrograms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhadse%2FOSPrograms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhadse%2FOSPrograms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhadse%2FOSPrograms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adhadse","download_url":"https://codeload.github.com/adhadse/OSPrograms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adhadse%2FOSPrograms/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268400669,"owners_count":24244445,"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","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bankers-algorithm","cpp","kotlin","operating-system","os","page-replacement-algorithm","scheduler"],"created_at":"2024-12-17T21:12:40.124Z","updated_at":"2026-05-17T17:35:49.050Z","avatar_url":"https://github.com/adhadse.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OS_programs\nThis repo holds my OS Lab programs for the Fourth Semester. \n## Feel free to use and learn from them.\n\n### 📜CPUScheduler.cpp \nThis file holds `Scheduler` class for most commonly used functions and well as `Process` class for holding attributes of Process (Sort of Process Control Block). \n\nThe `Scheduler` class and classes which inherits this class uses `Process` objects to manipulate and simulate a certain type of scheduling. Examples of using these specialized class can be seen from the function written at end of the file, to learn the execution pattern.\n\nThe scheduler implemented are :\n- Shortest Job First (SJF)\n- Priority Scheduler with Non-Premption\n- Priority Scheduler with Premption\n- Shortest Remaining Time First (SRTF) \n- Round Robin\n\nThe classes consist of (usually) 3 function, either inherited or overrided depending on the requirement of scehduler. These are:\n- `arrivedProcesses()`: Describe which processes have arrived at a certain period of time for clock cycle.\n- `nextSuitableProcess()`: Find the next suitable process from process list returned by `arrivedProcesses()` to be executed next (depending on the scheduling algorithm). \n- `execute()`: This function execute the process one by one by calling `nextSuitableProcess()`. This is either implemented in Pre-emptive or Non-Premptive mode.\n\n### 📜 BankersAlgorithm.cpp \nThis file implement and simulate a bankers algorithm in `BankersAlgorithm` on process objects of `Process` class.\n\n### 📜 PageReplacer.kt\nThis file simulate a First-In First-Out (FIFO) Page Replacement algorithm in Kotlin\n\n### 📜 CPUScheduler.kt \nThis file was originally written for scheduler class but later on I wrote most of them in C++. \n\nIf you love ♥ to see the code in KOTLIN, which is much more easier to read; read this to get a hang of the code before switching to C++ programs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadhadse%2Fosprograms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadhadse%2Fosprograms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadhadse%2Fosprograms/lists"}