W1 - Intro & Main Concepts Flashcards
How does the OS help application programmers?
It hides the complexity and limitations of hardware.
In what manner does the OS manage the computer’s resources?
In a fair and secure way for users and applications.
Two main benefits of an OS for applications
Makes them easier to write and run efficiently.
Where does the OS sit in relation to applications and hardware?
It sits between applications and hardware, acting as an intermediary.
What does the OS provide to hide hardware complexity?
A standard and abstract interface for applications to use.
Name core functions of an OS.
Core:
- Memory management
- CPU scheduling
- I/O management
Additional:
- File Management
- Networking
Is there a universal list of OS functions?
No, there’s no universally agreed definition - different OSes may include different features.
What is the kernel in an OS?
The central program that runs at all times and has complete control over the system. It is the core of the OS.
What are the two types of programs in the OS?
System programs (bundled with the OS) and application programs (user-installed)
What is the kernel’s relationship with the hardware?
The kernel has complete control over everything that occurs in the system. It can access all processor instructions and hardware registers.
Which programs operate in kernel mode? Which programs operate in user mode?
Privileged (kernel) mode:
- The kernel
User mode:
- All user programs and apps
How does dual-mode operation improve system reliability and security?
By isolating user programs from the OS (kernel mode), it ensures that user programs cannot directly modify kernel data, protecting the OS from crashes, corruption, or security breaches.
What does it mean to isolate user programs from the kernel?
It means user programs cannot directly access or modify the kernel’s memory or hardware. They must use controlled interfaces like system calls.
How do user programs perform operations that require kernel access?
By making system calls, which are controlled requests to the kernel to perform privileged tasks.
What is the main difference between the OS and the kernel?
The kernel is the core part of the OS that directly manages hardware, while the OS includes everything (kernel + utilities, user interfaces, etc.) that makes the system usable.
What are the responsibilities of the kernel?
Managing CPU, memory, devices, and system calls, and running in privileged mode.
What components are part of the OS but not the kernel?
System utilities
- CLI
- File managers
- GUI
Can different OSes share the same kernel?
Yes. For example, Ubuntu and Fedora are different OSes that both use the Linux kernel.
What are the 3 main roles of an Operating System?
Referee, Illusionist, and Glue.
What does the OS do in its referee role?
Manages resources, protects programs/users from each other, prevent apps from crashing each other or the OS, and handles communication.
What are some of the OS mechanisms that enable multiple programs to run in such a way that they are protected from one another?
- Address Translation
- Dual Mode Operation (user <=> kernal mode).
What policy does the following:
- helps enforce protection between programs
- keeps user programs from crashing the OS
- keeps user programs from crashing each other
Programs are not allowed to read/write memory of other programs or of the OS.
What are two key concepts from the mainframe era of OS history?
Multiprogramming and Time Sharing.
What shift happened with the rise of personal computers?
Focus moved to single-user systems, simplicity, and interactivity.