Operating System: A Software that provides facilities for other programs to be run on
Q) Why Operating System Should Be Used?
• hardware is unusable without a operating system
• acts as an interface and controls communication between user and hardware
• provides platform for softwares to run on
1) Provision Of User Interface
• allows user to communicate with the hardware by making navigation around the system easier
• provides facilities for user to input data
• provides facilities to show output results to user
• E.g CLI & GUI
CLI (Command Line Interface) GUI (Graphical User Interface)
• user interacts with the computer system via
• user types instructions to open or launch a
icons
program
• user does not need to know where application
• user is in direct communication with the
resides in the within the computer
computer system
• user navigates using a pointer
• windows
2) Memory Management 4) Security Management
• allocates memory to processes • sets up user accounts
• ensure fair usage of memory • access rights
• organise memory by making use of virtual • checks username & passwords
memory • automate back up
• keeps processes separate • system restore
3) Process Management 5) File Management
• manages scheduling of process • divides storage space into le allocation unit (smallest
• allows multitasking amount of disk space to store a le)
• handles priorities • Maintains Directory Structure
• enables process to share information (/:D / Desktop / My Folder) etc
• prevents interference between the processes • speci es logical method of le storage
• manages which resource the process requires • provides le naming convention
• controls le access
• speci c tasks that can be performed on a le
6) Printer Management 8) Input Output Management
• installs printer driver • installation of appropriate drivers
• sends data to the printer • controls access to hardware
• handles error messages • manages communication between devices
(out of pages)
• sends commands to the printer
7) Interrupt Handling
• identi es priorities to the interrupt
• saves data on power outage
• loads appropriate ISR (interrupt service
routine) if the priority is high enough)
Utility Softwares : Analyse and maintain a computer system and make it functional
1) Disk Formatter 2) Disk Defragmenter
• Data cannot be stored in a disk unless it is • Reorganises the data in a disk
formatted • moves split les so that they continuous/in order
• Partitions the disk into logical drives (dividing disk • creates a larger are of continuous free space
into smaller areas — sectors ) • reduces head movements
• Prepares the disk for initial use
• To check & mark bad sectors 4) Virus Checker / Anti Virus
• Sets up a le system • scans les on a computer for malicious code
• scans le when they enter the system like when
memory stick is inserted
3) Disk Checker / Disk Repair
• sets up a schedule for virus checking
• checks for any error
• deletes or quarantines malicious code if found
• resolves any errors on the disk
• regularly updates — to cope up with up to date
• retrieves les from damaged disk
virus database
• marks bad sector of the disk
6) Virus Checker / Anti Virus
5) Backup Software • scans les on a computer for malicious code
• creates a copy of the content of the disk • scans le when they enter the system like when
• can be set up to automatically backup memory stick is inserted
• Allows user to decide what les should be backed • sets up a schedule for virus checking
up • deletes or quarantines malicious code if found
• Allows o site backup • regularly updates — to cope up with up to date
• May encrypt backed up les virus database
• Restores the data if necessary
7) File Compression
• compress and decompress les
• infrequently used les are compressed
• saves space in hard disk
Program Libraries
Q) What is meant by a library routine
• pre existing or pre compiled code
• can be linked to other programs
• to perform common complex tasks
Bene ts Drawbacks
• code doesn’t have to be written again & again • compatibility issues — may not work with other codes
so saves time • Not guaranteed to be bug free after testing — may
• pretested so reduces testing time contain unknown unexpected bugs
• can be written in di erent programming • The code may not meet exact needs — may give
languages that enables you to use special unexpected results
features
• complex algorithms used directly
• simpli es the program
Dynamic Link Libraries
• a collection of self contained shared program library
• that are already compiled
• linked to main program (MS Word) during execution
• only loaded in temp memory during when required by the executable program — feature of spell checker only loaded
to ram when a incorrect word is detected by MS Word )
• can be made available to several applications at the same time
• if changes made to a DLL le, all programs accessing it will get changed
Bene ts Drawbacks
• makes the executable le smaller / (exe) • Program (executable le) is dependent on DLL to
• DLL les on loaded into temp memory when perform a speci c function hence — unexpected
required — saving space in the memory as well changes or bugs to DLL le could mean the program
• You can modify DLL les independently can stop working as expected
without needing to recompile the main • Malicious changes to the DLL le, could install a virus
program. on the user’s computer and corrupt les
• A single DLL le can be used by several • Appropriate linking software must be available to
applications saving space in memory import the DLL requested by the main software
Language Translators
1) Assembler
2) Compiler
3) Interpreter
Assembler
• Programs written in assembly code has to be translated in machine code in order for computer to understand it
• Each instruction in the source code consists of an opcode & operand.
• Assemble translates low level language (assembly code) into machine code for processor to execute
• Source code uses identi es instructions from processor’s instruction set
Compiler
• Compiler high level language into machine code for processor to execute
• Compiler creates a executable le (exe)
• No need to give access to source code — di cult for user to modify the code
Bene ts Drawbacks
• produces an executable le (exe) • the source code must be re compiled every time
• user doesn’t have to store source code programmer makes changes to the program
• code doesn’t have to be compiled each time it • nding error is di cult — error message is given at the
is used end
• doesn’t need compiler to be present during run • the code must be 100% correct for the executable le
time to be produced
Interpreter
• the inverter translates high level language into machine code for the processor to execute it line by line
• the interpret reads each statement and checks it before running it
• the interpreter halts when it encounters an error
• the interpreter analyses and checks each line before executing it
Bene ts Drawbacks
• errors can be corrected as they occur • no exceutbale le is produced — source has to be
• can run a partially complete program when provided to the user
developing • need to to translate source code again & again
• the e ect of any change made to the code can • interpreter should be present at the time of execution
be seen immediately
Compiler Interpreters
• creates an executable le • does not create a executable le
• can be used without source code • source code has to be provided
• decodes whole program rst then executes it • executes each statement immediately after decoding
• compiled program does not require compiler • interpreter needs to be present in the memory during
program execution
Q) Describe how a java source code program is translated
• java uses a two step translation process (half compiling & half interpreting)
• java code is partially compiled and partially interpreted
• code is translated rst into byte-code using the java compiler (partially compiled)
• the byte-code is nally interpreted by the java virtual machine
Q) Explain why high level program might be partially compiled & partially interpreted
• partial compiling causes program to be converted into byte-code
• this byte-code can be used in any Operating System (Windows, Mac, Linux)
• without needing to be recompiled for each platform
• code is also optimised for the CPU as machine code is generated at run time
Integrated Development Environment (IDE)
• a software application that combines all the features and tool needed by a software developer
Features Q) Features that assist in Initial Error Detection
• Pretty print
• dynamic syntax checking
• Automatic Indentation
• Syntax Checking • type checking
• Highlights any undeclared variables • identi cation of unused variable
• Type checking
Debugging Tools That IDE Provide
Breakpoint : run the code to a set point by the user to nd errors
Report Window : Errors are displayed in a separate window in IDE
Single Stepping : Execute the code line by line
Variable Watch : Checks the content of variable at speci c points