0% found this document useful (0 votes)
15 views12 pages

Systems Programming Syllabus for Pune University

Uploaded by

mansingpadvi95
Copyright
© All Rights Reserved
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)
15 views12 pages

Systems Programming Syllabus for Pune University

Uploaded by

mansingpadvi95
Copyright
© All Rights Reserved
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

[Link]

html

`
[Link]

Savitribai Phule Pune University


2019 Pattern
( As Per New Revised Syllabus )

ScoreBooster

Software Programming and


For

Operating System

Semester- V
Computer Engineering
[Link]

-: Syllabus Topic :-
:-

Unit I Introduction to systems programming


Syllabus Topics :
Introduction to Systems Programming, Need of systems programming, Software
Hierarchy, Types of software: system software and application software, Machine
structure. Evolution of components of systems programming: Text Editors, Assembler,
Macros, Compiler, Interpreter, Loader, Linker, Debugger, Device Drivers, Operating
System. Elements of Assembly Language Programming: Assembly Language statements,
Benefits of Assembly Language, A simple Assembly scheme, Pass Structure of Assembler.
Design of two pass assembler: Processing of declaration statements, Assembler
Directives and imperative statements, Advanced Assembler Directives, Intermediate
code forms, Pass I and Pass II of two pass Assembler.

Unit II Macro Processor and Compilers

Syllabus Topics :
Introduction, Features of a Macro facility: Macro instruction arguments, Conditional
Macro expansion, Macro calls within Macros, Macro instructions, Defining Macro, Design
of two pass Macro processor, Concept of single pass Macro processor. Introduction to
Compilers: Phases of Compiler with one example, Comparison of compiler and Interpreter.
[Link]

-: Imp, Expected & Pyq’s Question :-


:-

Unit I Introduction to systems programming

Imp, Expected & Pyq’s Question :

1. What is systems programming? Explain its necessity with examples. [5]

2. Explain the software hierarchy in computer systems with a neat diagram. [5]

3. Compare system softwares with Application softwares using table? Explain benefits
of Assembly Language. [7]

4. Differentiate:
i) Literal and Immediate operand.
ii) Assembler and Compiler [7]

5. Explain the role of machine structure in systems programming. [5]

6. Explain the role of text editors in system programming. [5]

7. What is purpose of Assembler pass 1? Draw and explain overview of Assembler pass
1 flow chart. [8]

8. Draw and explain flowchart of Pass-I of two pass assembler with suitable example.
[8]

9. Enlist and explain necessity of different data structures used in Pass-I of two pass
Assembler. [7]

10. Explain in detail with a suitable example, the formates and contents of databases
used in assembler design. [8]
[Link]

11. Define macros in system programming. Differentiate between macros and


subroutines. [5]

12. What is an interpreter? Compare interpreter with compiler using table. [5]

13. Explain the role of loader in program execution. Differentiate between absolute
loader and relocating loader. [5]

14. What is the function of a linker in systems programming? [5]

15. What is debugger? How is it helpful in development of system software? [5]

16. Explain the importance of device drivers in operating systems. [5]

17. List and explain any four functions of an operating system. [5]

18. What are different types of assembly language statements? Explain with examples.
[5]

19. Discuss need of intermediate code of assembly program. Generate intermediate


code for an assembly language program given in Question 2b using any one variant of
intermediate code. [8]

20. Explain the output of pass-I of two pass Assembler W.R.T the given program:
START 600
READ A
READ B
LOOP MOVER AREG, A
MOVER CREG, B
SUB AREG,='1'
BC GT,LOOP
STOP
A DS 1
[Link]

B DS 2
END

21. How are declaration statements handled in pass I of assembler? [5]

22. Consider following Assembly code and show output of pass-I of two pass Assembler
with entries in Mnemonic Opcode Table, Pseudo Opcode Table, Symbol Table, Literal
Table and Pool Table. [8]

PROG START 50
USING PROG+2, 15
L1, FIVE
Al, = F ‘2’
LTORG
ST 1, RES
FIVE DC F ‘4’
RES DS F ‘4’
RES DS IF
END

23. Explain advanced assembler directives with suitable examples. [5]


[Link]

Unit II Macro Processor and Compilers

Imp, Expected & Pyq’s Question :

1. What is Macro? Explain Macro definition, Macro Call and Macro Expansion with an
example. [8]

2. Define macro. What are the advantages of macro facility? How they are different
from function. [7]
3. Explain argument passing mechanism in Macros with suitable examples? [7]

4. What is the use of AIF and AGO pseudo-op in macro? Explain macro expansion with
positional parameter with the help of suitable example. [8]

5. Explain the concept of single pass Macro processor with example. Give example for
macro calls within the macro. [7]

6. Explain briefly the algorithm of pass l of two pass macro processor? [7]

7. What are different data structures required for Two Pass Macro Processor?
Justify which data structures are implemented at that time of processing Macro
definition, Macro call and Macro Expansion. [8]

8. Explain the Phases of Compiler and their output with an example. [8]

9. Explain various phases of the Compiler for the expression x = I + R * 60 where the
data type of R is float. [8]

10. Differentiate:
i) Macro and subroutine using table
ii) Compiler and Interpreter using table[7]
[Link]

11. Write Short note on:


i) Compiler
ii) Interpreter [7]
[Link]

Unit I : Introduction to systems programming

Need of Systems Programming

Pyq Question:
 What is systems programming? Explain its necessity with examples.
 How does systems programming differ from application programming?

Definition:
 Systems programming refers to the development of system software such as
operating systems, compilers, device drivers, and utilities that help manage
hardware resources.
 These programs usually require efficient memory management, direct hardware
interaction, and high performance.

Need and Importance:


 Systems programming is necessary because it enables efficient management of
computer hardware through abstraction and control mechanisms.
 Without systems programs like OS or device drivers, the hardware components
cannot communicate with user-level applications effectively.
 It plays a vital role in providing an environment for executing application programs
by managing CPU time, memory, and I/O resources.
 It helps bridge the gap between raw hardware and high-level software by providing
essential support utilities and interfaces.
 Modern systems such as Linux, Windows, and embedded firmware are built using
systems programming, ensuring better control and efficiency.

Examples of Systems Programming:


 Developing an operating system kernel to manage hardware like CPU, memory, and
devices.
 Writing device drivers to allow the OS to interact with hardware such as printers,
keyboards, or graphics cards.
 Creating language translators such as assemblers and compilers that convert code
to machine instructions.
[Link]

 Implementing bootloaders that help start a computer by loading the OS into


memory from storage.

Difference Between Systems Programming and Application Programming:


 Systems programming focuses on low-level interaction with hardware, while
application programming deals with user-focused software such as word processors
and browsers.
 Systems programs are typically written in low-level languages like C or assembly,
while application programs use higher-level languages like Python or Java.
 Memory and performance are highly optimized in systems programming, but
application programming focuses on user experience and interface.
 Systems software works behind the scenes with minimal user interaction;
application software interacts directly with users.
 An example of systems programming is writing a disk scheduling algorithm;
application programming includes creating a document editing tool.

Diagram:

Fig.4.232: System Software Interaction with Hardware and Applications


[Link]

Explanation of Diagram:
 The User interacts with application software like browsers or editors.
 Application software uses system-level services for execution, memory, and
hardware interactions.
 System software acts as a mediator, managing the hardware and providing
abstracted services.
 Hardware is the physical layer directly controlled by the system software, not by
user applications.

Software Hierarchy

Pyq Question:
 Explain the software hierarchy in computer systems with a neat diagram.

Introduction:
 Software hierarchy in computer systems refers to the structured arrangement of
different layers of software based on their role and interaction level.
 It ensures smooth communication from hardware to end-users by organizing
software from low-level to high-level in a layered architecture.

Definition:
 Software hierarchy is a logical structure of software layers that manage system
operations starting from hardware interaction to user-level application execution.
 Each layer in the hierarchy depends on the services provided by the layer below and
offers services to the layer above.

Purpose of Software Hierarchy:


 It divides complex system functionalities into manageable software layers to
improve system clarity and maintenance.
 It ensures better modularity, isolation, and debugging of system errors due to clear
separation between hardware and user applications.
[Link]

You might also like