operating system (OS)
System software that provides an INTERFACE between the user or application program AND the computer hardware.
4 MAIN TASKS: 1) Provide user Interface. 2) Offer System Security and Protection. 3) Manage Resources Efficiently. 4) Use Resources Safely
AKA The most important software on a computer!
OS manages:
the hardware
the software resources (user wants resources, the OS delivers)
the services computer programs want
Found in lecture Chapter 6 Part 1 - Operating Systems
4 main tasks of OS
Provide User Interface
Offer System Security and Protection (OS acts like a security guard)
Manage Resources Efficiently
Use Resources Safely
Found in lecture Chapter 6 Part 1 - Operating Systems
Why do we want an interface between the user and the hardware?
-to hide hardware details -to create a user-friendly environment -to prevent damage to system (hardware and data)
Found in lecture Chapter 6 Part 1 - Operating Systems
What are some well-know operating systems?
Desktops/Laptops: Linux, MacOS, Windows
Mobile: Apple iOS, Google Android
Found in lecture Chapter 6 Part 1 - Operating Systems
GUI
Graphical User Interface
User interfaces today are graphical (as users found text interface "cumbersome"). However, text based interface can be very efficient.
Found in lecture Chapter 6 Part 1 - Operating Systems
superusers
user(s) who have more privileges (admin) than others
privileged users, usually computer center employees, with the ability to access and maintain password files
Found in lecture Chapter 6 Part 2 - Operating Systems
process
a program in execution
Found in lecture Chapter 6 Part 2 - Operating Systems
fundamental OS task
process management
Found in lecture Chapter 6 Part 2 - Operating Systems
running state
the process is executing instructions
Found in lecture Chapter 6 Part 2 - Operating Systems
ready state
the process is runnable (ready to run), but not running process is waiting in ready queue
Found in lecture Chapter 6 Part 2 - Operating Systems
blocked/waiting state
the process is waiting for some event to occur
Found in lecture Chapter 6 Part 2 - Operating Systems
new state
the process is being created by the OS
Found in lecture Chapter 6 Part 2 - Operating Systems
exit state
the OS is cleaning up a terminating process
Found in lecture Chapter 6 Part 2 - Operating Systems
time slice
process moves from RUNNING to READY occurs when process has run for a MAX length of time
exists for processes "hogging" the CPU process kicked off processor (process goes from RUNNING back to READY)
if SMALL time slice -> HUGE overhead costs (to move process from ready to running back to ready; think of OS tables that need to be updated / registers that get changed)
if LARGE time slice -> system response time is SLOW (turn around time for response gets too slow; users need to wait longer to get processor time)
Found in lecture Chapter 6 Parts 2 and 3 - Operating Systems
ready queue
line of processes ready to run
Found in lecture Chapter 6 Part 2 - Operating Systems
virtual memory
"virtualizes" memory/RAM locations (abstraction)
think of VM as "simulated physical memory (RAM)"
Found in lecture Chapter 6 Part 3 - Operating Systems
I/O intensive process
process is often BLOCKED
Found in lecture Chapter 6 Part 3 - Operating Systems
compute intensive process
process is mainly RUNNING or READY
Found in lecture Chapter 6 Part 3 - Operating Systems
deadlock
when two or more processes are permanently blocked on each other
one way to resolve = Deadlock Prevention if process can't get everything it needs, it gets nothing
other types of deadlocks (and solutions) exist
Found in lecture Chapter 6 Part 3 - Operating Systems
processor utilization
percentage of time that the processor is busy
Found in lecture Chapter 6 Part 3 - Operating Systems
What does the OS provide?
Scheduler
Memory Managers (Loaders, Garbage collectors, Linkers)
Information Managers (File systems, Database systems)
Language Support (Interpreters, Compilers, Assemblers)
I/O manager (Keyboard, printer, network connection)
Utilities (Text editors, graphics routines).
Found in lecture Chapter 6 Part 1 - Operating Systems
example OS commands
-Load Program -Run Program -Save info to file/directory -Retrieve previously stored file -List all files for user -Delete file -Rename file -Copy files from one I/O device to another -Print file on specified I/O device -Establish network connection -Let user set password -Let user change password -Relay memory usage -Relay data storage usage