1.2 Software and software development Flashcards
What is an operating system?
a collection of programs that provide an interface between the user and the computer
What are some features of OS/operating systems? (5)
-memory management
-file management
-security/authentication
-utility software
-user management/interface
What are the forms of memory management used by the OS? (3) Why are these used instead of RAM?
-paging
-segmentation
-virtual memory
when RAM isn’t large enough to store all the programs being used, these are techniques to ensure that requests/programs are still handled
What is paging?
-form of memory management used by the OS
-memory split into equal sizes
-physical divisions of memory
-pages are swapped between main memory and the hard disk as needed
What is segmentation?
-form of memory management used by the OS
-memory split into logical sized divisions (segments)
-unequal sizes
-segments represent the structure and logical flow of the program
What is virtual memory?
-form of memory management used by the OS
-section of the hard drive acts as RAM when space to store programs is low
-sections of programs not currently being used are temporarily moved into virtual memory through paging
What is an issue when using the memory management techniques?
disk thrashing
-the computer ‘freezes’ due to pages being swapped too frequently between the hard disk and main memory
What are interrupts?
signals generated by software or hardware to indicate to the processor that a process needs attention
What is needed to be considered when allocating processor time to interrupts?
the level of priority it has
How are interrupts stored?
stored within a priority queue in an interrupt register
How can we check for interrupts and service them?
through the interrupt service routine (ISR)
What does the ISR do to check for interrupts?
checks the interrupt register at the end of each FDE cycle
What does the ISR do if an interrupt exists?
if there is an interrupt which exists with a higher priority to the current process:
-current contents of the registers in the CPU are transferred to a stack
-a relevant ISR is loaded into RAM
-a flag is sent to signal the ISR has begun
-the flag is reset once the ISR has finished
-process is repeated
What happens after the ISR has serviced an interrupt?
-f there are no interrupts with a higher priority to the current process:
-contents of the stack are popped back into the registers
-FDE cycle resumes
What is scheduling?
allocating processing time to sections of programs being run (jobs)
What do we mean if something is pre-emptive?
jobs are actively made to start and stop by the OS
What do we mean if something is non pre-emptive?
once a job has been started, it is left alone until completed
What are the types of scheduling algorithms? (5) List if they are pre-emptive or not
Pre-emptive:
round robin
shortest remaining time (SRT)
multilevel feedback queues (MLFQ)
Non pre-emptive
first come first serve (FCFS)
shortest job first (SJF)
What is round robin?
scheduling algorithm
-each job given a section of processor time (time slice) where it runs
-once the job has used its first time slice, they are given another slice of processor time until the job is completed
-once completed, the job is removed from the queue
What are +/- of round robin?
+all jobs will eventually be attended to
-longer jobs will take a much longer time for completion
-doesn’t take into account priorities/urgencies of jobs
What is FCFS?
scheduling algorithm (first come first served)
-jobs are processed in chronological order by which they entered the queue
What are some +/- of FCFS?
+straightforward to implement
-doesn’t take into account priorities/urgencies of jobs
What is MLFQ?
scheduling algorithm (multilevel feedback queues)
-makes use of multiple queues, ordered based on priorities
What are +/- of MLFQ?
+takes into consideration of different job priorities
-difficult to implement
What is SJF?
scheduling algorithm (shortest job first)
-queue for jobs to be processed is ordered according to time required for completion (longest job serviced at the end)
What do we mean by processor starvation?
when a process cannot complete its execution as its constantly denied processor time
What are some +/- of SJF?
+suited to batch systems as waiting time is reduced
-requires processor to calculate how long each job will take
-processor starvation if jobs are continuously added to the queue
-doesn’t take into account priorities/urgencies for jobs
What is SRT?
scheduling algorithm (shortest remaining time)
-queue for jobs to be processed is ordered according to the time left for completion (jobs which are fastest to complete serviced first)
What are some +/- of SRT?
+throughput is increased as shorter processes can be quickly completed
-doesn’t take into account priorities/urgencies for jobs
-processor starvation if short jobs are continuously added to the queue
What are the different types of OS? (5)
-distributed
-embedded
-multi-tasking
-multi-user
-real time
How does a distributed OS work?
-run across multiple devices
-load of a task is spread across multiple computer processors
How does an embedded OS work? Provide its characteristics
-built to perform a small range of specific tasks
-catered towards a specific task e.g. household appliance
-limited functionality
-hard to update
-consumes less power than other types of OS
How does multi-tasking OS work?
-enables user to carry out tasks simultaneously
-time slicing used to quickly switch between programs and applications in memory
How does multi-user OS work?
-multiple users make use of one computer
-a scheduling algorithm is used to allocate processor time fairly between jobs and prevent processor starvation
How does real time OS work?
-used in time-critical computer systems
-designed to perform a task within a guaranteed time frame
What is a BIOS?
basic input output system
-a program responsible for loading the OS when it first turns on
-performs tests before loading OS system
How does the BIOS test the computer system before loading the OS?
-performs a POST (power-on self test)
-ensures all hardware is correctly connected and functional
Where is the BIOS stored?
in the ROM
What is a device driver?
computer programs that allow the OS to interact with hardware
-specific to the computer’s architecture
-specific to the OS
What are virtual machines?
a theoretical computer and software implementation of a computer system
-provides an environment with a translator for intermediate code to run
What is intermediate code?
code halfway between machine code and object code
-independent of processor architecture (can run across different machines and OS)
-takes longer to execute than low-level code
What are some uses of virtual machines?
-testing programs
-protection from malware
-running software which may be incompatible with variations of OS
What is application software?
software used by the end-user
-performs one specific task
Give some examples of application software (5)
-word processor
-database
-web browser
-communication software
-video editing software
What is systems software?
software which manages computer resources
-ensures consistently high performances
What are some examples of systems software? (4)
-utility software
-OS
-device drivers
-library programs
What is the purpose of utility software?
maintains the OS
-each has a specific function
Give some examples of utility software (5)
-antivirus
-disk defragmentation
-data compression
-system clean up
-automatic backup
How is data compression a utility software?
maintains the OS
-compresses large files to be transmitted across the internet
-reduces the sizes of files, makes it faster to download and increases space
How is an antivirus a utility software?
maintains the OS
-responsible for detecting potential threats to the computer
-it alerts the user and removes these threats
How is disk defragmentation a utility software?
maintains the OS
-rearranges the contents of the hard drive so data can be accessed faster, improving performance