You are on page 1of 4

GUJARAT TECHNOLOGICAL

UNIVERSITY
Master of Computer Applications (Lateral)
Year II (Semester-III) (w.e.f. July 2016)
Subject Name: Basic Computer Science 2: Applications of Operating Systems and
Applications of Systems Software
Subject Code: 3630003

1. Course Objectives:

The Main objective of this course is to develop proficiency in the specification,


representation, and implementation of various concepts of System Software and
Operating system basics.

2. Prerequisites: NIL
3. Contents:
Unit
No.
1

Chapter Details

Introduction, Language Processing

Weightage No. of
Lecture
10%

What is System Software? , Programming Languages and


Language Processors, Language Processing Activities,
Fundamentals of Language Processing

Scanning and Parsing

15%

Programming Language Grammars, Scanning, Parsing


Assemblers

15%

Elements of Assembly Language Processing, A Simple Assembly


Scheme, Pass Structure of Assemblers, Design of a Two-Pass
Assembler
Compilers

10%

Cause of a Large Semantic Gap, Scope Rules, Memory

Allocation (Static and Dynamic Memory Allocation, Dynamic


Memory Allocation and Access, Memory Allocation and
Deallocation Accessing Local and Nonlocal variables),
Compilation of Expression (Postfix Notation, Triples and
Quadruples), Code Optimization (Optimizing Transformations)
Introduction to Operating System

10%

15%

15%

10%

Operating System Objectives and Functions


Process Description and Control: Process States, Process
Description, Process Control, UNIX Process Management.

Threads: Processes and Threads.


Concurrency: Mutual Exclusion and Synchronization:
Principles of Concurrency, Mutual Exclusion, Software
Approaches, Mutual Exclusion: Hardware Support, Semaphores,
Monitors, Message Passing, Reader/Writer Problem.
Concurrency: Deadlock and Starvation: Principles of
Deadlock, Deadlock Prevention, Deadlock
Avoidance, Deadlock Detection, An Integrated Deadlock
Strategy, Dining Philosophers Problem.
Memory:
Memory: Memory Management: Memory Management
Requirements, Memory Partitioning, Paging, Segmentation.

Virtual Memory: Hardware and Control Structures, OS


Software, UNIX Memory Management
Uni-processor Scheduling: Types of Scheduling, Scheduling,
Algorithms, Traditional UNIX Scheduling.

4. Text Books:
a. Systems Programming and Operating Systems by D M Dhamdhere, Tata McGraw
Hill Education Private Limited, 2nd Revised Edition
OR
Systems Programming by D M Dhamdhere, Tata McGraw Hill Education Private
Limited
b. Stalling W, Operating Systems, 7th edition, Prentice Hall India.

5. Reference Books:
a. Systems Programming by Srimanta Pal, Oxford University Press
b. System Software - An Introduction to Systems Programming by Leland L. Beck,
Pearson Education Asia, 3rd Edition, 2000

c. Silberschatz, A., Peter B. Galvin and Greg Gagne, Operating System Principles,
Wiley-Indian Edition, 8th Ed., 2009
d. Tanenbaum A.S., Modern Operating Systems, 4th Edition, PHI, 2001
6. Chapter Wise Coverage from Text Book:
Unit
No.
1

Text

Topics/Subtopics

Books
1

Introduction, Language Processing

No. of
Lectures
4

1.1, 1.2, 1.3, 1.4


[2.1, 2.2, 2.3 from alternative book mentioned of 4 (a) ]
2

Scanning and Parsing

3.1, 3.2
[6.1, 6.2, 6.3 from alternative book mentioned of 4 (a)]
3

Assemblers

4.1, 4.2, 4.3, 4.4


[3.1, 3.2, 3.3, 3.4 from alternative book mentioned of 4 (a)]
4

Compilers
6.1, 6.2, 6.3, 6.5
[7.1, 7.4, 7.5 ,7.6, 7.8 from alternative book mentioned of 4 (a)]
Chapter 1 ( Page 4-8), Chapter 2 ( Page 65-101),
Chapter 3( Page 116-129)

Chapter 4 (Page 159-203),5 (Page 221-243)

Chapter 6(Page 268-288) , Chapter 7 (Page 305-348)

Chapter 8 (Page 360-386)

7. Accomplishments of the student after completing the course:


Student will be able to understand the concept of System Software, How Language processing
activities are done, importance of scanner and parser, Basic concepts of Assembly language and
Assembler Design and Few aspects of compilation process.

8. Suggestions for Lab Sessions :

a) Suggested Lab Activities


Sr#

Sub Task Description

Token recognizer (Scanning) based on regular expression


[Using LINUX command and regular expressions]

SS

OS

Top Down Parsing (LL(1) Parser, Recursive Descent parser), Bottom Up Parser
(Operator Precedence parser)
[Using LINUX command and regular expressions]
Pass I of the Assembler, Pass II of the Assembler
[Using LINUX command and regular expressions]
LINUX Commands; date, ls, who, cal, ps, wc, cat, uname, pwd, mkdir, rmdir,
cd, cp, rm, mv, diff, chmod, grep, sed, head, tail,
cut, paste, sort, find, awk
LINUX Shell Scripts

Reference Books:
PS: Above is a suggestive list so student can perform on any LINUX/UNIX, Turbo C
available at institute.

You might also like