Operating Systems Lab

Lab Description

Repository for the CSDS 338 (Intro to Operating Systems) Lab for Case Western Reserve University. 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 Github Repository here!

Modules



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 info about Linux and 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 in C.

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

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

© SNUPy Corp. All rights reserved.