[go: up one dir, main page]

0% found this document useful (0 votes)
48 views6 pages

System Software Notes

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)
48 views6 pages

System Software Notes

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
You are on page 1/ 6

Unit I: System Software and Operating System Concepts

1. Introduction to System Software:

- Definition: System software is a type of computer program that is designed to run a computer's

hardware and application programs.

- Examples: Operating systems, compilers, assemblers, and utility software.

- Differences: System software manages hardware resources, whereas application software

performs specific user-oriented tasks.

2. Types of System Software:

- System Control Software: Operating systems.

- System Support Software: Utility programs like disk management tools.

- System Development Software: Compilers, debuggers, and interpreters.

3. Operating System Concepts:

- Functions: Resource management, process scheduling, memory management, file systems,

security, and networking.

- User Interface: Command Line Interface (CLI) vs. Graphical User Interface (GUI).

4. Types of Operating Systems:

- Batch Operating System: Processes are executed in batches without user interaction.

- Time-Sharing Operating System: Allows multiple users to interact with the system

simultaneously.

- Distributed Operating System: Manages a group of independent computers.

- Real-Time Operating System: Provides immediate processing for real-time applications.

5. Multi-Programming and Multi-Processing Systems:


- Multi-Programming: Multiple programs are loaded into memory and executed simultaneously.

- Multi-Processing: Use of two or more CPUs for simultaneous processing.

6. Time-Sharing System:

- Concept: Divides CPU time among multiple users/processes.

- Benefits: Efficient CPU utilization, reduced response time.

7. Process Concepts:

- Process: A program in execution.

- Process Lifecycle: States include New, Ready, Running, Waiting, and Terminated.

8. Inter-Process Communication (IPC):

- Mechanisms: Pipes, message queues, shared memory, sockets.

- Importance: Synchronization, data exchange between processes.

9. Process Scheduling:

- Types: Preemptive (e.g., Round Robin) and Non-Preemptive (e.g., FCFS, SJF).

- Scheduling Algorithms: First-Come-First-Serve, Shortest Job First, Round Robin.

10. Context Switching:

- Definition: Switching the CPU from one process to another.

- Importance: Enables multitasking.

11. Dispatcher:

- Role: Assigns the CPU to processes ready to run.


Unit II: Language Processors

1. Introduction:

- Language processors convert high-level programming languages to machine code.

- Examples: Compilers, assemblers, interpreters.

2. Bootstrapping:

- Process of writing a self-compiling compiler.

3. Data Structures for Language Processing:

- Symbol Tables: Store identifiers and attributes.

- Syntax Trees: Hierarchical representation of code structure.

4. Scanning and Parsing:

- Lexical Analysis: Tokenization of input code.

- Parsing: Analyzing syntax according to grammar rules.


Unit III: Assemblers and Linkers

1. Elements of Assembly Language Programming:

- Low-level programming, close to machine code.

- Syntax involves mnemonics and operands.

2. Assemblers:

- Two-Pass Assembler: Processes source code twice to resolve symbols.

- Single-Pass Assembler: Resolves symbols in one pass.

3. Macros and Macro Processors:

- Macros: Reusable code blocks.

- Macro Processor: Handles macro definitions and expansions.

4. Linkers:

- Function: Combines object files into a single executable.

- Features: Relocation, linking overlays, loaders.

5. Software Tools:

- Examples: Debuggers, editors, and IDEs.


Unit IV: Compilers

1. Compilers:

- Function: Converts source code into executable code.

- Components: Lexical, syntactic, semantic analysis, optimization, and code generation.

2. Optimization:

- Machine-Dependent: Specific to hardware architecture.

- Machine-Independent: Applies to general code improvements.

3. Phases of a Compiler:

- Lexical Analysis: Tokenization.

- Syntax Analysis: Parsing structure.

- Semantic Analysis: Meaning of code.

- Code Generation: Produces machine code.

4. General Model:

- High-level structure of compilers.


Unit V: Data Structures and Interpreters

1. Data Structures:

- Examples: Stacks, queues, linked lists, trees, graphs.

- Applications: Memory management, recursion.

2. Storage Classes:

- Static, automatic, external, and based storage.

3. Interpreters:

- Function: Executes source code line-by-line.

- Comparison: Slower than compilers but easier for debugging.

You might also like