10CSL58 Systems Software and Operating systems laboratory syllabus for CS


Part A
Unit-1 LEX and YACC Programs 0 hours

a) Program to count the number of characters, words, spaces and lines in a given input file. b) Program to count the numbers of comment lines in a given C program. Also eliminate them and copy the resulting program into separate file.

Unit-2 LEX and YACC Programs 0 hours

a) Program to recognize a valid arithmetic expression and to recognize the identifiers and operators present. Print them separately. b) Program to recognize whether a given sentence is simple or compound.

Unit-3 LEX and YACC Programs 0 hours

Program to recognize and count the number of identifiers in a given input file. Design, develop, and execute the following programs using YACC:

Unit-4 LEX and YACC Programs 0 hours

a) Program to recognize a valid arithmetic expression that uses operators +, -, * and /. b) Program to recognize a valid variable, which starts with a letter, followed by any number of letters or digits.

Unit-5 LEX and YACC Programs 0 hours

a) Program to evaluate an arithmetic expression involving operators +, -, * and /. b) Program to recognize strings ‘aaab’, ‘abbb’, ‘ab’ and ‘a’ using the grammar (anbn, n>= 0).

Unit-6 LEX and YACC Programs 0 hours

Program to recognize the grammar (anb, n>= 10).

Part B
Unit-7 UNIX Programming 0 hours

a) Non-recursive shell script that accepts any number of arguments and prints them in the Reverse order, ( For example, if the script is named rargs, then executing rargs A B C should produce C B A on the standard output). b) C program that creates a child process to read commands from the standard input and execute them (a minimal implementation of a shell – like program). You can assume that no arguments will be passed to the commands to be executed.

Unit-8 UNIX Programming 0 hours

a) Shell script that accepts two file names as arguments, checks if the permissions for these files are identical and if the permissions are identical, outputs the common permissions, otherwise outputs each file name followed by its permissions. b) C program to create a file with 16 bytes of arbitrary data from the beginning and another 16 bytes of arbitrary data from an offset of 48. Display the file contents to demonstrate how the hole in file is handled.

Unit-9 UNIX Programming 0 hours

a) Shell script that accepts file names specified as arguments and creates a shell script that contains this file as well as the code to recreate these files. Thus if the script generated by your script is executed, it would recreate the original files(This is same as the “bundle” script described by Brain W. Kernighan and Rob Pike in “ The Unix Programming Environment”, Prentice – Hall India). b) C program to do the following: Using fork( ) create a child process. The child process prints its own process-id and id of its parent and then exits. The parent process waits for its child to finish (by executing the wait( )) and prints its own process-id and the id of its child process and then exits.

Unit-10 Operating Systems 0 hours

Design, develop and execute a program in C / C++ to simulate the working of Shortest Remaining Time and Round-Robin Scheduling Algorithms. Experiment with different quantum sizes for the Round- Robin algorithm. In all cases, determine the average turn-around time. The input can be read from key board or from a file.

Unit-11 Operating Systems 0 hours

Using OpenMP, Design, develop and run a multi-threaded program to generate and print Fibonacci Series. One thread has to generate the numbers up to the specified limit and another thread has to print them. Ensure proper synchronization.

Unit-12 Operating Systems 0 hours

Design, develop and run a program to implement the Banker’s Algorithm. Demonstrate its working with different data values.

Last Updated: Tuesday, January 24, 2023