Skip to content

Repository for the CSDS 338 (Intro to Operating Systems) Lab for Case Western Reserve University designed by me :)

License

Notifications You must be signed in to change notification settings

Rohan-s18/CSDS338_Lab

Repository files navigation

CSDS 338: Intro to Operating Systems Lab

Author: Rohan Singh (TA CSDS 338)

Repository for the CSDS 338 (Intro to Operating Systems) Lab for Case Western Reserve University for Spring 2023. The lab component includes modules for the C Programming Language, Linux CLI tutorials and Bash Scripts. The main objective of this lab is to make students proficient in C and Bash by the end of the semester. This lab is completely optional and you can pace the modules based on your own preference.

These modules (not to be confused with C modules) will have their own README files that will contain additional details about the indiviadual files within the modules and will have links to external resources that you might find useful. You can pace these modules based on your own comfort level.

Check out the Lab Website by Clicking Here!

Modules

This is a brief description of all of the modules for the lab:

  • Week 0 (Setup): This lab module contains instructions to connect to the EECSLab Server and an introduction to the Linux Command Line Interface (CLI).
  • Week 1 (Basics of Linux): This lab module contains some basic Linux commands for you to check out.
  • Week 2 (Intro to C): This lab module contains the very basics of the C Programming language. This includes printf commands and basic arithmetic operations. Alongside flow statements and arays.
  • Week 3 (Pointers in C): This lab module contains an introduction to pointers in C. This includes, the basics of pointers, pointers of characters, pointer-array equivalence, void-pointers and reference methods.
  • Week 4 (Intro to Bash): This lab module contains an intro to Bash Scripting this will include using echo commands, variables, arithmetic operationsa and flow statements.
  • Week 5 (Structs): This lab module contains code to demonstrate the use of Structs (LL and Queues).
  • Week 6 (File I/O): This lab module contains code that deals with simple File I/O operations in C.
  • Week 7 (Bash/Awk): This lab module contains Bash scripts that make Linux system calls as well as some basics of awk scripts.
  • Week 8 (Process Cloning): This lab module contains working with process cloning in C, using fork() and exec() system calls.
  • Week 9 (Threads): This lab module contains multithreading in C.
  • Week 10 (Memory Allocation): This lab module contains different memory allocation processes in C malloc(), calloc(), free() and realloc() as well as buffer problems.
  • Week 11 (Your Choice): This lab module will be upto you to decide, I will be asking for suggestions and whatever you decide will be covered in this module.
  • Week 12 (UNIX Shell in C): This lab module contains code for a UNIX shell written in C.

Contact

You can contact me during each lab that will be in Glennan 408 5:30-6:20pm on Wednesdays.
I will be going through the Lab content in my office hours, so if you have any questions just let me know over there. Additionally you can send me an email at:
rxs1182@case.edu
rohan.b.singh54@gmail.com

About

Repository for the CSDS 338 (Intro to Operating Systems) Lab for Case Western Reserve University designed by me :)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published