Title: Software
1Software
2The software (processes) existing in a computers
memory at any one time can be broadly classified
as
- Operating system
- Data Base Management System
- Middleware
- Applications
3Current processes
Application processes
Middleware
DBMS
Seven Layer ISO Arch.
Command language (Shell)
TCP/IP
File management
Operating System Functions
Device drivers
Ethernet ATM etc
Task management (scheduler)
Memory management
4Multi-tasking or multi-programming
- Operating system allows more than process to
exist at any one point in time, in the same
processor - Although only one process can be executing at one
point in time - So we have multiple processes operating in each
of multiple processors
5Parts of a process
(A process is a program running in a computer.)
Fixed, Loaded from disk
A sequence of instructions to be executed
The code
Prompts, messages Etc.
Initialised variables
Uninitialised variables
Varies during execution.
Dynamically allocated variables
Maintained by Task manager
Program counter Contents of CPU registers,
Process ID
Program Control Block (PCB)
6Threads
Fixed stuff
The program code
Initialised variables
Variable stuff
Variable stuff
Uninitialised variables
Uninitialised variables
Dynamically allocated variables
Dynamically allocated variables
Program Control Block (PCB)
Program Control Block (PCB)
7Task Manager
- Starts new process or thread
- Delete process or thread
- Transfers control
- On interrupt or timeout
- Saves program state in PCB
- The scheduler determines who is next
- Loads its PCB into registers etc.
- The only infinite loop in the system
Application processes
Middleware
DBMS
Command language (Shell)
TCP/IP
File manager
Device drivers
Task management (scheduler)
Memory management
8Memory manager
- Allocates memory on request by
- Task manager
- Process/thread request
- Ensures one process does not access memory
outside its allocated area - De-allocates memory
Application processes
Middleware
DBMS
Command language (Shell)
TCP/IP
File manager
Ethernet ATM etc
Device drivers
Task management (scheduler)
Memory management
9File manager
- Creates deletes files
- Allocates disk space to each file and extends as
required (FAT) - Keeps a record of damaged tracks
- Keeps track of open files by process
- Maintains the file directory
- Updates files with changes
Application processes
Middleware
DBMS
Command language (Shell)
TCP/IP
File manager
Ethernet ATM etc
Device drivers
Task management (scheduler)
Memory management
10Generations of programming languages
Gen Example Comment
1st Machine language Binary instruction
2nd Assembler 11 with machine code Mnemonic
3rd Cobol, Fortran, Pascal, C 1M Processor independent, Procedural
3rd RAD VB, Delphi, Access, PowerBuilder Visual, Drag drop Libraries
4th SQL Non procedural Dynamic parsing
OO C Java Encourages OO programming
11Process of creating executable(3rd generation)
- Write code in modules editor
- Compile modules independently creating machine
code - Link compiled modules to create a linked
executable. (.exes) - Other modules linked dynamically at execution
time - DDLs
12Some languages generate machine independent code
- Java
Application processes
Java Virtual Machine
Middleware
DBMS
Command language (Shell)
TCP/IP
File management
Device drivers
Ethernet ATM etc
Task management (scheduler)
Memory management
13Virtual machine
- The virtual machine is a process
- Written for each processor/OS combination
- Provides a machine independent interface to the
Java compiled instructions - Code within the VM interprets and executes the
native machine language - VM manages memory allocation and de-allocation