This document outlines the course details for a Systems Software and Operating Systems lab, including 9 experiments covering topics like lexical analysis, parsing, scheduling algorithms, and memory management techniques to implement using tools like Lex, Yacc, and programming languages like C/C++. Students will be evaluated on their ability to implement lexers, parsers, and algorithms for operating systems. Exams will involve conducting one selected experiment with marks distributed for the procedure, conduction, and viva voce sections.
This document outlines the course details for a Systems Software and Operating Systems lab, including 9 experiments covering topics like lexical analysis, parsing, scheduling algorithms, and memory management techniques to implement using tools like Lex, Yacc, and programming languages like C/C++. Students will be evaluated on their ability to implement lexers, parsers, and algorithms for operating systems. Exams will involve conducting one selected experiment with marks distributed for the procedure, conduction, and viva voce sections.
(Effective from the academic year 2017 - 2018) SEMESTER – VI Subject Code 17CSL67 IA Marks 40 Number of Lecture Hours/Week 01I + 02P Exam Marks 60 Total Number of Lecture Hours 40 Exam Hours 03 CREDITS – 02 Description (If any): Exercises to be prepared with minimum three files (Where ever necessary): i. Header file. ii. Implementation file. iii. Application file where main function will be present. The idea behind using three files is to differentiate between the developer and user sides. In the developer side, all the three files could be made visible. For the user side only header file and application files could be made visible, which means that the object code of the implementation file could be given to the user along with the interface given in the header file, hiding the source file, if required. Avoid I/O operations (printf/scanf) and use data input file where ever it is possible Lab Experiments: 1. a) Write a LEX program to recognize valid arithmetic expression. Identifiers in the expression could be only integers and operators could be + and *. Count the identifiers & operators present and print them separately.
b) Write YACC program to evaluate arithmetic expression involving operators: +, -,
*, and /
2. Develop, Implement and Execute a program using YACC tool to recognize all strings ending with b preceded by na’s using the grammar an b (note: input n value)
3. Design, develop and implement YACC/C program to construct Predictive / LL(1)
Parsing Table for the grammar rules: A →aBa , B →bB | ε. Use this table to parse the sentence: abba$ 4. Design, develop and implement YACC/C program to demonstrate Shift Reduce Parsing techniquefor the grammar rules: E →E+T | T, T →T*F | F, F →(E) | id and parse the sentence: id + id * id. 5. Design, develop and implement a C/Java program to generate the machine code using Triples for the statement A = -B * (C +D) whose intermediate code in three-address form: T1 = -B T2 = C + D T3 = T1 + T2 A = T3 6. a) Write a LEX program to eliminate comment lines in a C program and copy the resulting program into a separate file. b) Write YACC program to recognize valid identifier, operators and keywords in the given text (C program) file. 7. Design, develop and implement a C/C++/Java program to simulate the working of Shortest remaining time and Round Robin (RR) scheduling algorithms. Experiment with different quantum sizes for RR algorithm. 8. Design, develop and implement a C/C++/Java program to implement Banker’s algorithm. Assume suitable input required to demonstrate the results. 9. Design, develop and implement a C/C++/Java program to implement page replacement algorithms LRU and FIFO. Assume suitable input required to demonstrate the results.
Study Experiment / Project:
NIL Course outcomes: The students should be able to: • Implement and demonstrate Lexer’s and Parser’s • Implement different algorithms required for management, scheduling, allocation and communication used in operating system. Conduction of Practical Examination: • All laboratory experiments are to be included for practical examination. • Students are allowed to pick one experiment from the lot. • Strictly follow the instructions as printed on the cover page of answer script • Marks distribution: Procedure + Conduction + Viva:15 + 70 +15 (100) • Change of experiment is allowed only once and marks allotted to the procedure part to be made zero