{"id":20137462,"url":"https://github.com/steliospapamichail/linux-2.6-scheduling-policy","last_synced_at":"2026-05-01T23:31:40.020Z","repository":{"id":154295368,"uuid":"433873689","full_name":"SteliosPapamichail/Linux-2.6-Scheduling-Policy","owner":"SteliosPapamichail","description":"My implementation of a process scheduling policy on Linux v.2.6.38.1","archived":false,"fork":false,"pushed_at":"2021-12-09T17:33:22.000Z","size":5444,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T23:30:35.144Z","etag":null,"topics":["assembly","c","kernel","linux","linux-kernel","scheduling","x86-32","x86-assembly"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SteliosPapamichail.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-12-01T15:06:50.000Z","updated_at":"2022-02-11T12:03:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff88e509-bdf8-4c85-9919-7dff1a880ec1","html_url":"https://github.com/SteliosPapamichail/Linux-2.6-Scheduling-Policy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteliosPapamichail%2FLinux-2.6-Scheduling-Policy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteliosPapamichail%2FLinux-2.6-Scheduling-Policy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteliosPapamichail%2FLinux-2.6-Scheduling-Policy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteliosPapamichail%2FLinux-2.6-Scheduling-Policy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SteliosPapamichail","download_url":"https://codeload.github.com/SteliosPapamichail/Linux-2.6-Scheduling-Policy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241582555,"owners_count":19985845,"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":["assembly","c","kernel","linux","linux-kernel","scheduling","x86-32","x86-assembly"],"created_at":"2024-11-13T21:27:52.495Z","updated_at":"2026-05-01T23:31:39.970Z","avatar_url":"https://github.com/SteliosPapamichail.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linux-2.6-Scheduling-Policy\nMy implementation of a process scheduling policy on Linux v.2.6.38.1\n\n## Part A - Syscalls implementations\n\nYou can find the implementation of two new system calls (get_period_params \u0026 set_period_params) in the Part A directory. A description of the implementation process\nis included in the README.txt along with the edited files of the linux kernel. The kernel's dir structure has been kept so that it is easier for everyone to simply drag and drop\nthese files in the appropriate places to test things out.\n\nA very quick and dirty test for these syscalls is also included in the directory.\n\n## Part B - In development\n\n\n## How to compile the kernel \u0026 load it\n\nOnce you've copied the appropriate files into the kernel's source code, simply cd into \"Linux-2.6.38.1/\" and run \"make ARCH=i386 bzImage\". An already generated image with the\nnew system calls can be found in \"Part A/arch/x86/boot/bzImage\".\n\nYou can load the new kernel into an emulator if you want to test it out safely. In this example I'm using Qemu. You can simply run :\n$ qemu-system-i386 -hda original_kernel.img -append \"root=/dev/hda\" -kernel \nlinux-2.6.38.1/arch/x86/boot/bzImage -curses\n\nThis will use the new edited kernel without a GUI.\n\n## Source code for kernel 2.6.38.1\n\u003ca href=\"https://elixir.bootlin.com/linux/v2.6.38.1/source\"\u003eElixir bootlin link \u003c/a\u003e for code lookup and kernel \u003ca href=\"https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/\"\u003e v.2.6.38.1 \u003c/a\u003e can be found here\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteliospapamichail%2Flinux-2.6-scheduling-policy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteliospapamichail%2Flinux-2.6-scheduling-policy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteliospapamichail%2Flinux-2.6-scheduling-policy/lists"}