Operating systems allow the user to communicate with the computer and perform low level tasks
operating systems provide the following features
memory management
resource management
file management
input / output management
interrupt management
utility software
security
user interface
memory management is done by the processes:
paging
segmentation
use of virtual memory
paging is when memory is split up into equal sized sections called pages,
pages can be swapped between main memory and the hard disk as and when needed.
segmentation is splitting up memory into logical sized divisions, known as segments
so this splits it up based on logical flow and structure os the program
virtual memory used a section of the hard drive to act as RAM ,this is where the programs go that are not in use and are moved her by paging freeing up space
what are issues of paging , segmentation and virtual memory?
diskthrasing
disk thrashing is when the computer freezes as the packets are being swapped too much between hard disk and main memory.
interupts are signals generated by software or hardware to indicate to the processor that a process needs attention
interrupts are stored in order of priority within a priority queue in the interrupt register.
Abstraction is removing unnecessary information making it simple and easy for anyone to use
Pros of abstraction:
Reduces development time
Simplifies problems
selection/branching
makes the program run blocks of code based on a condition
bubble sort:
Not efficient for large data sets
Repetitive
Merge is more efficient for 250,000bits of data in data base
queue follows the FIFO pro pile and is for scheduling
Stacks use the LIFO principle and act like an undo feature