{"id":19203351,"url":"https://github.com/rouming/co_sched","last_synced_at":"2025-10-25T20:33:05.517Z","repository":{"id":142055912,"uuid":"61203497","full_name":"rouming/co_sched","owner":"rouming","description":"preemptive multitasking in userspace based on a SIGALRM signal","archived":false,"fork":false,"pushed_at":"2016-06-20T15:05:24.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-04T14:14:39.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","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/rouming.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-15T11:39:40.000Z","updated_at":"2020-11-28T05:19:53.000Z","dependencies_parsed_at":"2024-01-13T02:47:45.222Z","dependency_job_id":null,"html_url":"https://github.com/rouming/co_sched","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouming%2Fco_sched","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouming%2Fco_sched/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouming%2Fco_sched/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouming%2Fco_sched/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rouming","download_url":"https://codeload.github.com/rouming/co_sched/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240275924,"owners_count":19775616,"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-11-09T12:48:00.485Z","updated_at":"2025-10-25T20:33:00.485Z","avatar_url":"https://github.com/rouming.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"co_sched - preemptive multitasking in userspace based on a SIGALRM signal\n\nDescription:\n    This is a small experiment, an application, which starts 3 sorting\n    routines, execution of each is preempted by SIGALRM signal, simulating\n    an OS timer interrupt.  Each routine is an execution context, which\n    can do a voluntary scheduling (calling schedule() directly) or be\n    preempted by a timer, and in that case nonvoluntary scheduling occurs.\n\n    The default time slice is 10ms, that means that each 10ms SIGALRM fires\n    and next context is scheduled by round robin algorithm.\n\nUsage:\n    [roman@pb co_sched]$ make\n    gcc  -O2 -Wall -o co_sched co_sched.c co_sched.S\n    [roman@pb co_sched]$ ./co_sched\n    ~~~~ let's rock!\n    [1] test_sort: begin init, a=0x7ffff5210010\n    [1] test_sort: start sort\n    [2] test_sort: begin init, a=0x7ffff05c4010\n    [2] test_sort: start sort\n    [3] test_sort: begin init, a=0x7fffeb978010\n    [3] test_sort: start sort\n    [2] test_sort: end\n    [3] test_sort: end\n    [1] test_sort: end\n    ~~~~ i am done\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frouming%2Fco_sched","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frouming%2Fco_sched","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frouming%2Fco_sched/lists"}