Podcast
Questions and Answers
In the early history of operating systems, what was the primary motivation behind their creation?
In the early history of operating systems, what was the primary motivation behind their creation?
- To provide security for user data.
- To simplify the setup and transition between jobs. (correct)
- To enable multiple users to access the computer simultaneously.
- To create graphical user interfaces for easier interaction.
What is the key characteristic of batch processing systems?
What is the key characteristic of batch processing systems?
- Real-time execution of programs.
- Direct interaction between the user and the computer.
- User submits programs and data to an operator. (correct)
- Simultaneous execution of multiple programs by a single user.
Which of the following is a drawback of batch processing?
Which of the following is a drawback of batch processing?
- No direct interaction with the user during processing. (correct)
- It allows for real-time processing of tasks.
- High level of interaction with the user.
- It requires minimal setup time.
What is the defining feature of interactive processing?
What is the defining feature of interactive processing?
In a time-sharing operating system, how is CPU time allocated among multiple users?
In a time-sharing operating system, how is CPU time allocated among multiple users?
What is the key difference between 'multiprogramming' and 'multitasking'?
What is the key difference between 'multiprogramming' and 'multitasking'?
What is the role of system administrators in modern computing environments?
What is the role of system administrators in modern computing environments?
Which feature is characteristic of multiprocessor machines?
Which feature is characteristic of multiprocessor machines?
Which of the following is a primary characteristic of embedded systems?
Which of the following is a primary characteristic of embedded systems?
Which of the following best describes 'application software'?
Which of the following best describes 'application software'?
What is the main role of 'system software'?
What is the main role of 'system software'?
What is the primary function of 'utility software'?
What is the primary function of 'utility software'?
Which of the following is an example of a text-based user interface (Shell)?
Which of the following is an example of a text-based user interface (Shell)?
What is the role of the 'kernel' in an operating system?
What is the role of the 'kernel' in an operating system?
What is the function of a 'file manager' within an operating system?
What is the function of a 'file manager' within an operating system?
What is the purpose of 'device drivers' in an operating system?
What is the purpose of 'device drivers' in an operating system?
Which of the following statements best describes the function of an operating system's ‘memory manager’?
Which of the following statements best describes the function of an operating system's ‘memory manager’?
What is the role of the 'scheduler and dispatcher' in an operating system?
What is the role of the 'scheduler and dispatcher' in an operating system?
What is the primary function of a 'boot loader'?
What is the primary function of a 'boot loader'?
In the context of the booting process, what is the purpose of 'firmware'?
In the context of the booting process, what is the purpose of 'firmware'?
How does the operating system coordinate the machine's activities?
How does the operating system coordinate the machine's activities?
What is the key difference between a 'program' and a 'process'?
What is the key difference between a 'program' and a 'process'?
What information does the 'process state' contain?
What information does the 'process state' contain?
What tasks are performed by the ‘scheduler’ in process administration?
What tasks are performed by the ‘scheduler’ in process administration?
What will the ‘dispatcher’ do?
What will the ‘dispatcher’ do?
When does a ‘process switch’ occur?
When does a ‘process switch’ occur?
Why is mutual exclusion needed in operating systems?
Why is mutual exclusion needed in operating systems?
How can deadlocks be avoided?
How can deadlocks be avoided?
What characteristic defines 'super users' in the context of operating system security?
What characteristic defines 'super users' in the context of operating system security?
Which of the following is a countermeasure against attacks from outside?
Which of the following is a countermeasure against attacks from outside?
What is the function of ‘privileged mode’?
What is the function of ‘privileged mode’?
Which of the following are related to password security?
Which of the following are related to password security?
What is the difference between single-factor authentication and multi-factor authentication?
What is the difference between single-factor authentication and multi-factor authentication?
Flashcards
Operating System Functions
Operating System Functions
Software responsible for overseeing computer operations, storing files, providing a user interface, and coordinating program execution.
Batch Processing
Batch Processing
Early computing approach where programs were submitted as 'jobs' requiring significant operator setup.
Interactive Processing
Interactive Processing
Processing mode allowing direct interaction with the user through remote terminals.
Time-Sharing
Time-Sharing
Signup and view all the flashcards
Multitasking
Multitasking
Signup and view all the flashcards
Embedded Systems
Embedded Systems
Signup and view all the flashcards
Application Software
Application Software
Signup and view all the flashcards
System Software
System Software
Signup and view all the flashcards
Utility Software
Utility Software
Signup and view all the flashcards
User Interface
User Interface
Signup and view all the flashcards
Kernel
Kernel
Signup and view all the flashcards
File Manager
File Manager
Signup and view all the flashcards
Device Drivers
Device Drivers
Signup and view all the flashcards
Memory Manager
Memory Manager
Signup and view all the flashcards
Scheduler and Dispatcher
Scheduler and Dispatcher
Signup and view all the flashcards
Bootstrapping
Bootstrapping
Signup and view all the flashcards
Boot Loader
Boot Loader
Signup and view all the flashcards
Firmware
Firmware
Signup and view all the flashcards
Process
Process
Signup and view all the flashcards
Process State
Process State
Signup and view all the flashcards
Scheduler
Scheduler
Signup and view all the flashcards
Dispatcher
Dispatcher
Signup and view all the flashcards
Process Switch
Process Switch
Signup and view all the flashcards
Semaphore
Semaphore
Signup and view all the flashcards
Critical Region
Critical Region
Signup and view all the flashcards
Mutual Exclusion
Mutual Exclusion
Signup and view all the flashcards
Deadlock
Deadlock
Signup and view all the flashcards
Ordinary Users
Ordinary Users
Signup and view all the flashcards
Super Users
Super Users
Signup and view all the flashcards
Auditing Software
Auditing Software
Signup and view all the flashcards
Nonprivileged Mode
Nonprivileged Mode
Signup and view all the flashcards
Privileged Mode
Privileged Mode
Signup and view all the flashcards
Privileged Instructions
Privileged Instructions
Signup and view all the flashcards
Password Security
Password Security
Signup and view all the flashcards
Multi-Factor Authentication
Multi-Factor Authentication
Signup and view all the flashcards
Study Notes
Operating Systems
- Operating systems coordinate the machine's activities, handle competition among processes, and provide security.
- Examples: Windows (Microsoft, used in PCs), UNIX (larger computer systems), Mac OS (Apple, Mac machines), Solaris (Sun/Oracle machines), and Linux (originally non-commercial, small and large computers).
- Smartphone operating systems include Apple iOS (published 2007, Unix based, still active) and Google Android (published 2008, Linux based, still active), Windows Phone (final release 2015), BlackBerry OS (final release 2012) and Nokia Symbian OS (final release 2012).
- Functions: Overseeing computer operation, storing/retrieving files, providing user interface to request program execution, and coordinating program execution.
History of Operating Systems
- A program is called a "job."
- Early computers needed significant setup time, and each "job" needed its own setup.
- Operating systems began as systems for simplifying setup and transitions between jobs.
- Batch processing (job queue): User sends program, data, and program requirements to an operator, who loads materials to the computer. The operating system reads and executes them, and results are delivered to the user.
- The jobs wait in the job queue for their turn using the first-in, first-out principle.
- Instructions for the machine for execution were encoded with Job Control Language (JCL).
- Interactive processing (real-time): A program is executed in a dialog with the user through remote terminals. Only one user at a time, with computer faster than the user.
- Real-time processing: computer performs tasks in real time with a deadline in its environment.
Time-Sharing and Multiprogramming
- Time-sharing: One machine is used by many users.
- Multiprogramming: Time is divided into intervals with the execution of one job during an interval, then that job is set aside and another executed, creating the illusion of several jobs executed simultaneously, about 30 users simulataneously.
- Multitasking: One user performs many tasks simultaneously.
- PC:s work on their own, so Operators have disappeared.
- System administrators install new programs and equipment, make new accounts, and resolve system problems.
Multiprocessor Machines and Embedded Systems
- Multiprocessor machines use load balancing.
- Time-sharing and multitasking are distributed to many processors.
- Resources are dynamically allocated to various processors.
- Scaling: Tasks are broken down into subtasks compatible with the number of available processors.
- Embedded Systems: Specific devices such as medical devices, vehicle electronics, home appliances, and cell phones.
- Embedded systems conserve battery power, work in real-time, and operate continuously without human oversight.
Operating System Architecture
- Software of a computer: Application software and System software.
- Application software performs specific tasks for users: productivity, games, or software development.
- System software consists of tasks common to computer systems that take care of computer infrastructure and provide infrastructure for application software.
- Utility software extends and customizes the operating system, for example, programs that format a disk or compress data.
- Many programs started as application software but became part of utility software.
Operating System Components
- Operating system needs to communicate with the user via a user interface. The internal part is the kernel.
- User Interface: Text-based shell or a graphical user interface (GUI).
- Text based (Shell) exmaples include Unix: Bourne shell (and others), Windows: command shell, Apple: Terminal utility shell.
- GUI allows the user to operate it with pointing devices and keyboard, can be 2D or 3D.
- GUI examples include Unix: X11 (and others), Linux window managers: KDE, Gnome (and others), Microsoft Windows and Apple IOS standard interfaces.
- Kernel's performs basic required functions: file, memory, scheduler, and device driver management
- File manager: Coordinates machines mass storage facilities: file manipulation, and hierarchical file storage.
- Device Drivers: Communication management with peripheral devices.
- Memory Manager: coordinates and allocates machine's main memory, may use virtual memory.
- Scheduler and dispatcher: which activities are executed and allocation of time to these activities
Bootstrapping
- When turned-on, machine starts to run a program from a particular memory address, known as Bootstrapping.
- Initially, the volatile main memory is empty which makes the starter Boot loader program important.
- The starter program Boot loader is stored in Read Only Memory.
- Boot loader program runs by the CPU, transfers OS from mass storage to main memory and executes a jump to OS.
- In embedded systems, the OS is copied from special flash memory.
- Firmware include routines used by the boot loader before the operating system is functional. PC:s BIOS or EFI, Sun: open firmware, Embedded systems: CFE.
Coordinating the Machine's Activities
- The OS coordinates the execution of application software, utility software and units within the OS itself.
- After computer has started, user asks OS to execute utility or application programs, with user communicating to OS after execution is terminated.
Concept of a Process
- A program is a piece of code, while the execution of a program is dynamic.
- Process: The activity of executing a program.
- Many processes are executed at the same time.
- Operating System manages the execution of processes, competition of resources
- Process State: Current status of activity, which include the position of program and what portion of main memeory its at
Process Administration
- Scheduler: adds and removes new processes from the process table, scheduler adds the execution to the pool of current processes.
- Each process has a current state: new, ready, running, waiting, terminated.
- Dispatcher: Controls the allocation of time slices to the processes in the process table. Time and memory slice
Multiprogramming and Time Allocations
- Multiprogramming: time is divided to small time slices (milliseconds, microseconds).
- CPU is switched to next process in turn for one time slice -process switch. Figure 3.6 shows this.
- When process gets time slice, a timer is started and the end of time slice is signaled by an interrupt.
- Dispatcher selects the next process for execution via process table
- All the time active processes (non-waiting) are run in CPU
Handling Competition Among Processes
- Some resources can only be used by one process at a time, such as printers.
- Semaphore A "control flag" which informs if a process has been allocated a certain resource.
- Critical Region: Instructions should be executed by only one process for the integrity of the function
- Example: is setting semaphore includes 1) reading semaphore, 2) setting semaphore. Process can not be dispatched between 1 and 2.
- Mutual Exclusion: only one process allowed at a time to execute a critical task/region.
- Processes block each other from continuing because each waits for a resource that is allocated to another.
Conditions for Deadlock
- Competition for non-sharable resources
- Resources requested on a partial basis
- Allocated resources can’t be forcibly retrieved – Can be avoided if:
- All resources are or seem to be sharable
- All resources must be requested at one time
- Resources can be forcibly made free
System Security
- Ordinary users can only use resources allocated to them.
- Super users can use all available resources and monitor system with auditing software.
- Risks to the system are Attacks either from inside or outside the system. Attacks can be protected via auditing software.
Counter Measures
- Problems arise when processes gain access to memory outside its designated area, when processes try to gain super user rights or acccess memory area of other processes and users.
- Operating systems manage this via control activities via privilege levels and privileged instructions.
- Privileged mode systems can access all memory areas
- Non-privileged mode have user process restrictions
- Privileged instructions that change memory limit registers can only be used in privileged mode.
- Use strong passwords that contain upper and lower case, numbers, punctuation
- Implement Multi-factor identification
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the role of operating systems in coordinating computer activities, managing processes, and providing security. Learn about examples like Windows, UNIX, and Linux. Discover the history of operating systems and their evolution from simplifying setup to coordinating program execution.