Module Details and Expectations

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

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?

  • 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?

  • 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'?

<p>Submitting jobs to a computer operator who then bundles them into a batch for sequential processing. (B)</p> Signup and view all the answers

What problem was NASA attempting to solve with the Apollo program?

<p>How to build a guidance, navigation, and control system that fits within one cubic foot. (C)</p> Signup and view all the answers

How did the Apollo Guidance Computer (AGC) influence the development of modern computing?

<p>It paved the way for the miniaturization of computers and the development of personal computers. (C)</p> Signup and view all the answers

What was a key characteristic of Multiprogrammed Batch Systems?

<p>Switching between multiple jobs when the active job is waiting for I/O, to maximize CPU utilization. (D)</p> Signup and view all the answers

How do Time-Sharing systems improve upon Multi-Programmed Batch Systems?

<p>By allowing user interaction, enabling real-time responses and program modifications. (A)</p> Signup and view all the answers

What is the significance of UNIX in the history of operating systems?

<p>It became the foundation for many modern operating systems and introduced a hierarchical file system. (B)</p> Signup and view all the answers

Which of the following is NOT typically considered a key feature of operating systems?

<p>Hardware Design (A)</p> Signup and view all the answers

What is the purpose of system calls in an operating system?

<p>To offer a programming interface to the services provided by the OS. (D)</p> Signup and view all the answers

How do system programs differ from the kernel in an operating system?

<p>System programs operate in user space, providing utilities and services, while the kernel manages system resources. (B)</p> Signup and view all the answers

Which of the following is an example of a system program?

<p>A file management utility. (B)</p> Signup and view all the answers

Why would an operating system use the layered approach?

<p>To break the OS code into smaller pieces so that user programs do not have direct access to the hardware. (C)</p> Signup and view all the answers

What is a potential drawback of a simple OS structure like MS-DOS?

<p>The entire system can crash if a user program fails. (A)</p> Signup and view all the answers

How does the microkernel architecture attempt to improve OS design?

<p>By removing non-essential components from and have only the essential processes in the kernel of the code. (B)</p> Signup and view all the answers

What is a key advantage of a modular approach in operating system design?

<p>It allows additional services to be loaded as modules during runtime, eliminating the need to recompile the kernel. (A)</p> Signup and view all the answers

Which of the following best describes a 'hybrid' operating system structure?

<p>An OS that combines different structures, such as monolithic and modular components, to achieve better efficiency. (A)</p> Signup and view all the answers

In the context of operating systems, what is the difference between 'policy' and 'mechanism'?

<p>'Policy' defines <em>what</em> should be done, and 'mechanism' defines <em>how</em> it should be done. (B)</p> Signup and view all the answers

What is the primary purpose of virtualization in computing environments?

<p>To allow applications written for one OS to run on a different OS through a Virtual Machine. (C)</p> Signup and view all the answers

What action would violate the expectations of behavior in taught sessions?

<p>Registering your attendance if you are only staying for a portion of the session. (D)</p> Signup and view all the answers

What happens if you fail to attend your timetabled Lab session in week 11?

<p>You will get zero grade. (B)</p> Signup and view all the answers

According to the lecture, what is the contact email for Mike Jones?

<p><a href="mailto:[email protected]">[email protected]</a> (C)</p> Signup and view all the answers

Where can you find the recommended textbook for the class?

<p>Available on Moodle and MMU Library. (C)</p> Signup and view all the answers

If there are any issues that I can deal with directly, when should I let you know?

<p>ASAP (C)</p> Signup and view all the answers

When are lecture slides available?

<p>Each week on Monday prior to the Lecture. (B)</p> Signup and view all the answers

Where should you submit exceptional factors or mitigating circumstances?

<p>Submit the appropriate form through the Student Hub. (C)</p> Signup and view all the answers

What is the format of the assessment?

<p>MCQ (E)</p> Signup and view all the answers

What is the equivalent study time for a 15 credit unit?

<p>150 hours. (C)</p> Signup and view all the answers

How many lab sessions are in the module?

<p>2 x 2hr Lab session (D)</p> Signup and view all the answers

How many weeks does the module timeline cover?

<p>11 weeks (D)</p> Signup and view all the answers

Where can Laboratory notes be found?

<p>Laboratory notes are available on moodle each week. (C)</p> Signup and view all the answers

What percentage of the MCQ covers Linux Shell practical application met in the labs?

<p>40 % (E)</p> Signup and view all the answers

To deal effectively with virtual machines, which of the following is required:

<p>Virtualizsation (A)</p> Signup and view all the answers

What is the name of the general-purpose stored program computer?

<p>Von Neumann Architecture (E)</p> Signup and view all the answers

Which decade is associated with multi-programmed batch systems and the predecessor to UNIX?

<p>1960s (E)</p> Signup and view all the answers

What is the name of the first computer designed for real-time operation during the apollo program?

<p>AGC (C)</p> Signup and view all the answers

Which key issue involved the design of policy and mechanism?

<p>System calls (D)</p> Signup and view all the answers

What is the purpose of the objective to list the Key issues in operating system design?

<p>To list the key issues in operating system design (C)</p> Signup and view all the answers

What is not listed as a Key Feature of Operating Systems?

<p>Hardware Design (B)</p> Signup and view all the answers

Where is the best place to find the email for the lecturer?

<p>Today's lecture - page 3 (E)</p> Signup and view all the answers

Flashcards

OS Kernel

The core of the OS, running at all times.

Operating System

The software layer that manages hardware resources fairly and securely.

Von Neumann Architecture

A general-purpose computer architecture where instructions and data are stored in memory.

Serial Processing (1940s-50s)

Early computing phase with direct hardware interaction and wasted CPU time.

Signup and view all the flashcards

Simple Batch Systems (1950s-60s)

Phase where jobs were submitted in batches to computer operators.

Signup and view all the flashcards

Multi-programmed Batch Systems (1960s-70s)

A system where the operating system switches between jobs when one is waiting for I/O.

Signup and view all the flashcards

Time-Sharing Systems

Operating systems allowing user interaction, trading off processing and response time.

Signup and view all the flashcards

UNIX (1970s)

Written in C; easier to adapt to different hardware and provides reusable utilites.

Signup and view all the flashcards

System Programs

Software providing useful functions, utilities and services but operate in user space.

Signup and view all the flashcards

System Calls

The programming interface to the services provided by the OS.

Signup and view all the flashcards

Application Program Interface (API)

High-level tools that programs use to access system calls.

Signup and view all the flashcards

OS Policy

The 'what' aspect of OS; the policies for what the OS should provide.

Signup and view all the flashcards

OS Mechanism

Answers 'how' an OS provides a service, the implementation details.

Signup and view all the flashcards

Layered Structure

OS code is broken into smaller pieces; helps assure user programs have direct hardware access.

Signup and view all the flashcards

Microkernel

Removes non-essential components from kernel code, which are pushed to user/system programs.

Signup and view all the flashcards

Hybrid Systems

Combination of monolith and modular components so the OS can achieve better efficiency.

Signup and view all the flashcards

Status information

System info such as date, time, memory usage, etc; performance, logging and debugging.

Signup and view all the flashcards

Communications

Provide virtual connections among processes, users, and computer systems.

Signup and view all the flashcards

OS System Program

Software to provide useful functions, utilities, and services.

Signup and view all the flashcards

Simple Structure

No well-defined structure; user programs can access hardware directly.

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.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser