Podcast
Questions and Answers
Which of the following best describes the primary role of an operating system?
Which of the following best describes the primary role of an operating system?
- Facilitating communication between different software applications.
- Creating backup copies of files and data for disaster recovery.
- Designing and implementing user interfaces for applications.
- Managing hardware resources and providing an environment for program execution. (correct)
What is the role of the 'kernel' within an operating system?
What is the role of the 'kernel' within an operating system?
- It's a collection of system programs that provide utilities and services.
- It is used to interface programs with APIs.
- It's the core component that runs at all times and manages the system's resources. (correct)
- It's the part of the OS responsible for displaying the graphical user interface.
In the evolution of Operating Systems, what was a key characteristic of the 'Serial Processing' phase?
In the evolution of Operating Systems, what was a key characteristic of the 'Serial Processing' phase?
- Time-sharing systems that allowed multiple users to interact simultaneously with the computer.
- Direct programmer interaction with hardware, without an operating system. (correct)
- The introduction of virtual machines for running multiple applications.
- Automatic job sequencing to reduce idle processor time.
Which of the following describes a key feature of 'Simple Batch Systems'?
Which of the following describes a key feature of 'Simple Batch Systems'?
What problem was NASA attempting to solve with the Apollo program?
What problem was NASA attempting to solve with the Apollo program?
How did the Apollo Guidance Computer (AGC) influence the development of modern computing?
How did the Apollo Guidance Computer (AGC) influence the development of modern computing?
What was a key characteristic of Multiprogrammed Batch Systems?
What was a key characteristic of Multiprogrammed Batch Systems?
How do Time-Sharing systems improve upon Multi-Programmed Batch Systems?
How do Time-Sharing systems improve upon Multi-Programmed Batch Systems?
What is the significance of UNIX in the history of operating systems?
What is the significance of UNIX in the history of operating systems?
Which of the following is NOT typically considered a key feature of operating systems?
Which of the following is NOT typically considered a key feature of operating systems?
What is the purpose of system calls in an operating system?
What is the purpose of system calls in an operating system?
How do system programs differ from the kernel in an operating system?
How do system programs differ from the kernel in an operating system?
Which of the following is an example of a system program?
Which of the following is an example of a system program?
Why would an operating system use the layered approach?
Why would an operating system use the layered approach?
What is a potential drawback of a simple OS structure like MS-DOS?
What is a potential drawback of a simple OS structure like MS-DOS?
How does the microkernel architecture attempt to improve OS design?
How does the microkernel architecture attempt to improve OS design?
What is a key advantage of a modular approach in operating system design?
What is a key advantage of a modular approach in operating system design?
Which of the following best describes a 'hybrid' operating system structure?
Which of the following best describes a 'hybrid' operating system structure?
In the context of operating systems, what is the difference between 'policy' and 'mechanism'?
In the context of operating systems, what is the difference between 'policy' and 'mechanism'?
What is the primary purpose of virtualization in computing environments?
What is the primary purpose of virtualization in computing environments?
What action would violate the expectations of behavior in taught sessions?
What action would violate the expectations of behavior in taught sessions?
What happens if you fail to attend your timetabled Lab session in week 11?
What happens if you fail to attend your timetabled Lab session in week 11?
According to the lecture, what is the contact email for Mike Jones?
According to the lecture, what is the contact email for Mike Jones?
Where can you find the recommended textbook for the class?
Where can you find the recommended textbook for the class?
If there are any issues that I can deal with directly, when should I let you know?
If there are any issues that I can deal with directly, when should I let you know?
When are lecture slides available?
When are lecture slides available?
Where should you submit exceptional factors or mitigating circumstances?
Where should you submit exceptional factors or mitigating circumstances?
What is the format of the assessment?
What is the format of the assessment?
What is the equivalent study time for a 15 credit unit?
What is the equivalent study time for a 15 credit unit?
How many lab sessions are in the module?
How many lab sessions are in the module?
How many weeks does the module timeline cover?
How many weeks does the module timeline cover?
Where can Laboratory notes be found?
Where can Laboratory notes be found?
What percentage of the MCQ covers Linux Shell practical application met in the labs?
What percentage of the MCQ covers Linux Shell practical application met in the labs?
To deal effectively with virtual machines, which of the following is required:
To deal effectively with virtual machines, which of the following is required:
What is the name of the general-purpose stored program computer?
What is the name of the general-purpose stored program computer?
Which decade is associated with multi-programmed batch systems and the predecessor to UNIX?
Which decade is associated with multi-programmed batch systems and the predecessor to UNIX?
What is the name of the first computer designed for real-time operation during the apollo program?
What is the name of the first computer designed for real-time operation during the apollo program?
Which key issue involved the design of policy and mechanism?
Which key issue involved the design of policy and mechanism?
What is the purpose of the objective to list the Key issues in operating system design?
What is the purpose of the objective to list the Key issues in operating system design?
What is not listed as a Key Feature of Operating Systems?
What is not listed as a Key Feature of Operating Systems?
Where is the best place to find the email for the lecturer?
Where is the best place to find the email for the lecturer?
Flashcards
OS Kernel
OS Kernel
The core of the OS, running at all times.
Operating System
Operating System
The software layer that manages hardware resources fairly and securely.
Von Neumann Architecture
Von Neumann Architecture
A general-purpose computer architecture where instructions and data are stored in memory.
Serial Processing (1940s-50s)
Serial Processing (1940s-50s)
Signup and view all the flashcards
Simple Batch Systems (1950s-60s)
Simple Batch Systems (1950s-60s)
Signup and view all the flashcards
Multi-programmed Batch Systems (1960s-70s)
Multi-programmed Batch Systems (1960s-70s)
Signup and view all the flashcards
Time-Sharing Systems
Time-Sharing Systems
Signup and view all the flashcards
UNIX (1970s)
UNIX (1970s)
Signup and view all the flashcards
System Programs
System Programs
Signup and view all the flashcards
System Calls
System Calls
Signup and view all the flashcards
Application Program Interface (API)
Application Program Interface (API)
Signup and view all the flashcards
OS Policy
OS Policy
Signup and view all the flashcards
OS Mechanism
OS Mechanism
Signup and view all the flashcards
Layered Structure
Layered Structure
Signup and view all the flashcards
Microkernel
Microkernel
Signup and view all the flashcards
Hybrid Systems
Hybrid Systems
Signup and view all the flashcards
Status information
Status information
Signup and view all the flashcards
Communications
Communications
Signup and view all the flashcards
OS System Program
OS System Program
Signup and view all the flashcards
Simple Structure
Simple Structure
Signup and view all the flashcards
Study Notes
Contact Information
- Mike Jones can be contacted via [email protected].
- His office is located in Dalton Building, room 1.19.
- Support is available in the Learning Studio on Wednesdays and Thursdays from 14:00 to 15:00.
Module Details
- Lectures are 1 hour per week.
- Lab sessions are 2 hours per week.
- Semester 2 covers 11 weeks.
- A 15 credit unit equates to roughly 150 study hours, incorporating lectures, labs, and self-study.
Expectations
- Taught sessions should be inclusive and professional
- Students should respect their peers and staff.
- Minimise noise during teaching
- Only register your attendance if you intend to stay for the entire session.
- Arrive quietly if late.
- Seek clarification from staff if needed and follow instructions.
- Taking unauthorized pictures, videos, or audio recordings is prohibited.
- Failure to comply may result in disciplinary action.
Course Resources
- Lecture slides are accessible each week on Moodle, released on Mondays before the lecture.
- Lab notes are also available weekly on Moodle, coinciding with lab sessions.
Assessment
- Assessment is through a Multiple Choice Question (MCQ) format.
- The MCQ will be time-constrained and is scheduled for Week 11 (W/c 7th April 2025).
- Attendance is mandatory for the timetabled Week 11 lab session, non-attendance results in a ZERO grade.
- The MCQ consists of 30 questions, with 28 questions worth 3 points each and 2 questions worth 8 points each.
- 60% of the MCQ focuses on core OS concepts from lectures.
- 40% of the MCQ focuses on the Linux shell practical applications from labs.
- Use of 2 A4 pages (4 sides) of notes are permitted during the MCQ.
- It's highly recommended to prepare notes weekly following lectures/labs.
Communication
- Issues should be raised as soon as possible.
- Communicate at the end of class (if brief), during support hours, via email/Teams, or by appointment.
- For significant issues, submit the appropriate form through the Student Hub.
- Keep updated by regularly checking student email and Moodle
Reading Material
- The suggested textbook is "Operating Systems Concepts".
- The ebook version is on Moodle and the MMU Library.
- The "Linux Labs – BASH Cookbook" is also an ebook on Moodle & the MMU Library.
- Slides and images may be used of "Operating Systems Concepts"
Learning Outcomes
- LO1: Understand and use OS principles.
- LO2: Create shell scripts or programs for OS management.
Module Timeline Topics
- Admin, Overview & History
- Processes & Threads
- Process Synchronization & Concurrency
- CPU Scheduling
- Deadlocks & Livelock
- Memory Management
- Virtual Memory
- File Systems
- File System Implementation
- Protection & Security
- Virtual Machines
Lecture Objectives
- Define the purpose of an Operating System.
- Describe the evolution of Operating Systems.
- Identify key issues in OS design.
- Define system calls and system programs.
- Differentiate between policy and mechanism in OS implementation.
What is an Operating System
- There is no single, universally accepted definition.
- Is “The one program running at all times on the computer”.
- The kernel is the core of the OS.
- Everything else is a system program or an application program.
Purpose of Operating System
- Operating Systems are about resource management: fair and secure sharing of hardware.
- This includes processors, I/O devices, and memory.
- To provide an environment for program execution and services to programs and users.
- This includes preventing errors and improper use, efficient system resource allocation, and user ease of use.
OS Evolution - Background: Von Neumann Architecture
- A general-purpose stored program computer originated in 1945.
Phase 1: Serial Processing (1940s-50s)
- There was no operating system.
- Programmers interacted directly with hardware and signed up for blocks of time.
- There was potential for wasted time with I/O taking a long time resulting in CPU idle time.
Phase 2: Simple Batch Systems (1950s-60s)
- Programmers no longer had direct hardware access.
- Jobs are submitted to a computer operator for batching.
- A resident monitor program manages batch processing sequentially without pauses.
Apollo Program
- NASA contract 1, worked on the guidance, navigation, and control system for the Apollo mission spacecraft.
Relevance to Operating Systems
- Pre-1960s OS were built for individual mainframe computers.
- Smaller computers are more valuable.
- The Apollo Guidance Computer (AGC) was among the first for real-time operation.
- It paved the way for miniaturization and the development of personal computers, laptops and mobile devices.
Phase 3: Multi-programmed Batch Systems (1960s-70s)
- Automatic job sequencing eliminates gaps but the processor can still be idle.
- Slow I/O devices cause wait times.
- Multiprocessing enables switching to another job during I/O waits.
- UNICS (later UNIX) laid the foundation for modern operating systems.
Phase 4: Time-Sharing
- Multi-programmed batch setups can be productive, but do not allow user interaction.
- Time-sharing facilitates user interaction.
- There is balancing maximizing user processing and minimizing response time.
Rise of Unix (1970's)
- Written in C, therefore portable.
- Small, reusable utilities worked together, which made it modular
- Its organization was hierarchical
- Provided a flexible file system.
- UNIX became the basis for Linux, BSD, and macOS.
Key Features of Operating Systems
- User Interface
- Process Management
- Memory Management
- Information Protection & Security
- Scheduling & Resource Management
- Communication
- Error Detection
System Calls
- Are a programming interface to OS services.
- Programs mostly access via a high-level Application Program Interface (API).
- Win32 API is for Windows.
- POSIX API is for POSIX-based systems (*nix, OS X, Android).
- Java API is for the Java Virtual Machine (JVM).
- These act as a bridge between user-mode and kernel-mode operations.
System Programs
- Are software to provide functions, utilities, and services.
- These operate in user space, not part of the kernel.
- These leverage system calls to manage resources.
- Some act as user interfaces to system calls.
- Other system programs functions are:
- File management
- Status Information
- File modification
- Programming-language support
- Program loading and execution
- Communications
- Background Services
OS Structure Types
- Simple
- Layered
- Microkernel
- Modular
- Hybrid
OS Structure - Simple Structure
- There is no well-defined or modularized structure.
- MS-DOS is an example, has no dual-mode operation.
- User programs can directly access hardware.
- One flaw can crash the whole system.
OS Structure - Layered Approach
- OS code is in smaller sections and modular.
- Hardware is the bottom layer, user/application programs are the topmost.
- Layers invoke operations on lower layers, prevents programs from directly accessing hardware.
OS Structure - Microkernel
- The kernel becomes complex as the OS grows.
- An approach that removes non-essential parts from the kernel code, making it smaller and better.
- Process, memory, and communication services are minimal and retained in kernel.
OS Structure - Modular Approach
- Loadable kernel modules are used and the kernel has core services.
- Additional services loadable as modules during runtime/boot.
- Recompiling not needed a new service is added.
- Modules are linked dynamically.
- It's efficient because no need t pass messages/recurrently call lower layers.
OS Structure - Hybrid Systems
- It combines different design elements.
- Monolithic and modular elements mixes to achieve better efficiency.
- It can use layers, microkernels and loadable modules to optimise performance.
Implementing Operating Systems
- Some examples are Windows, Unix(es), Linux, OS X, iOS, Android.
- What should the OS provide (policy)?
- How should it be provided (mechanism)?
Virtual Machines
- Applications traditionally ran on an OS on a computer.
- Virtualisation: applications for a different OS can run through a Virtual Machine.
- (Emulation: applications written for a different platform can be run).
- Virtualisation: allows a safe environment for testing operating systems.
Objectives Recap
- Operating Systems are for resource management.
- Early operating systems handled jobs serially in batches, progressed to parallelism, interactivity.
- Optimising resource utilization and security is the point of modern operating systems.
- System calls and Programs offer the user interface.
- Two pivotal aspects are policies and mechanisms.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.