{"id":20515768,"url":"https://github.com/paulthomas20002/s4-operating-systems-lab","last_synced_at":"2025-09-13T22:28:08.224Z","repository":{"id":37391875,"uuid":"490496494","full_name":"PaulThomas20002/S4-OPERATING-SYSTEMS-LAB","owner":"PaulThomas20002","description":"The course aims to offer students a hands-on experience on Operating System concepts using a constructivist approach and problem-oriented learning. Operating systems are the fundamental part of every computing device to run any type of software. ","archived":false,"fork":false,"pushed_at":"2022-10-12T11:58:24.000Z","size":6437,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-23T19:31:03.950Z","etag":null,"topics":["204","basic","basic-commands","cs","csl","csl-206","cst-204","cst-206","ktu","ktu-s4","lab","operating-systems-lab","os","os-lab","s4-lab"],"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/PaulThomas20002.png","metadata":{"files":{"readme":"README.md","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":"2022-05-10T01:10:12.000Z","updated_at":"2024-12-22T10:17:00.000Z","dependencies_parsed_at":"2023-01-19T11:31:53.457Z","dependency_job_id":null,"html_url":"https://github.com/PaulThomas20002/S4-OPERATING-SYSTEMS-LAB","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PaulThomas20002/S4-OPERATING-SYSTEMS-LAB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulThomas20002%2FS4-OPERATING-SYSTEMS-LAB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulThomas20002%2FS4-OPERATING-SYSTEMS-LAB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulThomas20002%2FS4-OPERATING-SYSTEMS-LAB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulThomas20002%2FS4-OPERATING-SYSTEMS-LAB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PaulThomas20002","download_url":"https://codeload.github.com/PaulThomas20002/S4-OPERATING-SYSTEMS-LAB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulThomas20002%2FS4-OPERATING-SYSTEMS-LAB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275038126,"owners_count":25394638,"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-09-13T02:00:10.085Z","response_time":70,"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":["204","basic","basic-commands","cs","csl","csl-206","cst-204","cst-206","ktu","ktu-s4","lab","operating-systems-lab","os","os-lab","s4-lab"],"created_at":"2024-11-15T21:24:33.884Z","updated_at":"2025-09-13T22:28:08.194Z","avatar_url":"https://github.com/PaulThomas20002.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OPERATING-SYSTEMS-LAB\nThe course aims to offer students a hands-on experience on Operating System concepts using a constructivist approach and problem-oriented learning. Operating systems are the fundamental part of every computing device to run any type of software. \n\n\u003ch1\u003eSyllabus\u003c/h1\u003e\n\u003cbr\u003e\u003cbr\u003e\n\n\u003ch3\u003e\n1. Basic Linux commands \u003cbr\u003e\u003cbr\u003e\n2. Shell programming  \u003cbr\u003e\u003cbr\u003e\n -Command syntax  \u003cbr\u003e\u003cbr\u003e\n -Write simple functions with basic tests, loops, patterns \u003cbr\u003e\u003cbr\u003e\n3. System calls of Linux operating system:* \u003cbr\u003e\n fork, exec, getpid, exit, wait, close, stat, opendir, readdir \u003cbr\u003e\u003cbr\u003e\n4. Write programs using the I/O system calls of Linux operating system (open, read, write)\u003cbr\u003e\u003cbr\u003e\n5. Implement programs for Inter Process Communication using Shared Memory *\u003cbr\u003e\u003cbr\u003e\n6. Implement Semaphores*\u003cbr\u003e\u003cbr\u003e\n7. Implementation of CPU scheduling algorithms. \u003cbr\u003ea) Round Robin b) SJF c) FCFS d)\nPriority *\u003cbr\u003e\u003cbr\u003e\n8. Implementation of the Memory Allocation Methods for fixed partition*\u003cbr\u003e\na) First Fit b) Worst Fit c) Best Fit\u003cbr\u003e\u003cbr\u003e\n9. Implement l page replacement algorithms\u003cbr\u003e a) FIFO b) LRU c) LFU*\u003cbr\u003e\u003cbr\u003e\n10. Implement the banker’s algorithm for deadlock avoidance. *\u003cbr\u003e\u003cbr\u003e\n11. Implementation of Deadlock detection algorithm\u003cbr\u003e\u003cbr\u003e\n12. Simulate file allocation strategies.\u003cbr\u003e\nb) Sequential b) Indexed c) Linked\u003cbr\u003e\u003cbr\u003e\n13. Simulate disk scheduling algorithms. *\u003cbr\u003e\nc) FCFS b)SCAN c) C-SCAN \u003cbr\u003e\u003cbr\u003e\n* mandatory\u003cbr\u003e\u003cbr\u003e\n\u003c/h3\u003e\n\u003cbr\u003e\n\u003ch2\u003eOPERATING SYSTEMS LAB - PRACTICE QUESTIONS\u003c/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\n1. Write a program to create a process in linux.\u003cbr\u003e\n2. Write programs using the following system calls of Linux operating system:\u003cbr\u003e\nfork, exec, getpid, exit, wait, close, stat, opendir, readdir\u003cbr\u003e\n3. Write programs using the I/O system calls of Linux operating system (open, read, write)\u003cbr\u003e\n4. Given the list of processes, their CPU burst times and arrival times, display/print the\nGantt chart for FCFS and SJF. For each of the scheduling policies, compute and print the\naverage waiting time and average turnaround time\u003cbr\u003e\n5. Write a C program to simulate following non-preemptive CPU scheduling algorithms to\nfind turnaround time and waiting time.\u003cbr\u003e\na)FCFS b) SJF c) Round Robin (pre-emptive) d) Priority\u003cbr\u003e\n6. Write a C program to simulate following contiguous memory allocation techniques\u003cbr\u003e\n a) Worst-fit b) Best-fit c) First-fit\u003cbr\u003e\n7. Write a C program to simulate paging technique of memory management.\u003cbr\u003e\n8. Write a C program to simulate Bankers algorithm for the purpose of deadlock avoidance.\u003cbr\u003e\n9. Write a C program to simulate disk scheduling algorithms \u003cbr\u003ea) FCFS b) SCAN c) C-SCAN\u003cbr\u003e\n10. Write a C program to simulate page replacement algorithms \u003cbr\u003ea) FIFO b) LRU c) LFU\u003cbr\u003e\n11. Write a C program to simulate producer-consumer problem using semaphores.\u003cbr\u003e\n12. Write a program for file manipulation for display a file and directory in memory.\u003cbr\u003e\n13. Write a program to simulate algorithm for deadlock prevention.\u003cbr\u003e\n14. Write a C program to simulate following file allocation strategies.\u003cbr\u003e\na)Sequential b) Indexed c) Linked \u003cbr\u003e\u003c/h3\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulthomas20002%2Fs4-operating-systems-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulthomas20002%2Fs4-operating-systems-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulthomas20002%2Fs4-operating-systems-lab/lists"}