0% found this document useful (0 votes)
3K views

System Software

This document outlines a System Software course, including its objectives, prerequisites, contents, and accomplishments. The course aims to teach students about the relationship between system software and machine architecture, and the design and implementation of key system software like assemblers, macro processors, compilers, linkers, loaders, and device drivers. The course is divided into six units covering these topics over 15 weeks. Upon completing the course, students will gain the ability to understand program execution, scanners/parsers, system software design, and implementing efficient programs and device drivers.

Uploaded by

Masud Pathan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3K views

System Software

This document outlines a System Software course, including its objectives, prerequisites, contents, and accomplishments. The course aims to teach students about the relationship between system software and machine architecture, and the design and implementation of key system software like assemblers, macro processors, compilers, linkers, loaders, and device drivers. The course is divided into six units covering these topics over 15 weeks. Upon completing the course, students will gain the ability to understand program execution, scanners/parsers, system software design, and implementing efficient programs and device drivers.

Uploaded by

Masud Pathan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

GUJARAT TECHNOLOGICAL UNIVERSITY

MASTER OF COMPUTER APPLICATION


SEMESTER: III

Subject Name: System Software (SS)


Subject Code: 630005

Objective:

• To understand the relationship between system software and machine architecture.


• To understand the processing of an HLL program for execution on a computer system.
• To understand the process of scanning and parsing.
• To know the design and implementation of assemblers, macro processor, linker and compiler.
• To have an understanding of loader, system software tools.
• To understand and know the working of device drivers

Prerequisites:
Basic knowledge of computer architecture and C programming.

Contents:
Unit-1: Introduction to System Software and software tools (15%)

Language Processors:
• Introduction
• Language Processing Activities
• Fundamentals of Language Processing & Language Specification
• Language Processor Development Tools.
Data Structures for Language Processing:
• Search Data structures
• Allocation Data Structures.
Software Tools:
• Software Tools for Program Development
• Editors
• Debug Monitors
• Programming Environments
• User Interfaces.

Unit-2: Assemblers (15%)

Assemblers:
• Elements of Assembly Language Programming
• A Simple Assembly Scheme
• Pass Structure of Assemblers
• Design of a Two Pass Assembler
• A single pass Assembler for IBM PC.
Unit-3: Macro Processors (15%)

Macros and Macro Processors:


• Macro Definition and Call
• Macro Expansion
• Nested Macro Calls
• Advanced Macro Facilities
• Design of a Macro Preprocessor.

Unit-4: Compilers and Interpreters (30%)

Scanning and Parsing:


• Introduction to NFA and DFA
• Approaches of parsing
• Different types of parsing techniques namely
• Recursive decent parser
• LL(1) parser
• Operator precedence parser. (First and follow technique for generating a parse table is to be taught)
Compilers and Interpreters:
• Phases of the Compiler
• Aspects of compilation
• Memory allocation
• Compilation of expressions and control structures
• Code optimization
• Interpreters: Use and overview of interpreters
• Pure and impure interpreters.

Unit-5: Linkers and Loaders (15%)

• Introduction to linkers
• Relocation and Linking Concepts
• Design of a Linker
• Self-Relocating Programs
• A Linker for MS-DOS
• Linking for Overlays
• Introduction to Loader

Unit-6: Device drivers (10%)

• Design and anatomy of UNIX device driver: Types of device driver


• General design of UNIX character device driver
• General design of UNIX block device driver
• UNIX device driver installation.
Main Reference Book(s):
1. D. M. Dhamdhere, “Systems Programming and Operating Systems”, Second Revised Edition, Tata
McGraw-Hill, 1999.
2. George Pajari, “Writing UNIX device drivers”, Pearson Education Asia.

Suggested Additional Reading:


1. Leland L. Beck, “System Software – An Introduction to Systems Programming”, 3rd Edition, Pearson
Education Asia, 2000.
2. Santanu Chattopadhyay, “System Software”, Prentice-Hall India,2007
3. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, “Compilers: Principles, Techniques,
and Tools”,2nd Edition, Pearson Education Asia
4. Kenneth C. Louden, “Compiler Construction: Principles and Practice”, (Thomson/Cengage)

Chapter-wise coverage from main reference books:


Book 1: Chapters: 1, 2, 3, 4, 5, 6, 7, 8
Book 2: Chapters: 1, 2, 5, 13

Accomplishments of the student after completing the course:


• Ability to understand the execution process of HLL programs.
• Ability to understand the working of scanners and parsers.
• Ability to understand the basic design of various system software.
• Ability to implement various system software.
• Ability to design and implement efficient programs/applications.
• Ability to know the working of device drivers.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy