Programming for GCSE Topic H: Operating Systems



Similar documents
Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Chapter 5: System Software: Operating Systems and Utility Programs

Operating Systems 4 th Class

CHAPTER 15: Operating Systems: An Overview

LSN 10 Linux Overview

LECTURE-7. Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. Topics:

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

ELEC 377. Operating Systems. Week 1 Class 3

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

A single user ran a single program ran on a single computer there was no need for Page 1 of 6 Copyright Virtual University of Pakistan

Tutorial 0A Programming on the command line

Chapter 1: Introduction. What is an Operating System?

Overview and History of Operating Systems

Virtual Machines.

STUDY GUIDE CHAPTER 4

Operating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

Computers: Tools for an Information Age

IOS110. Virtualization 5/27/2014 1

OPERATING SYSTEM SERVICES

3 - Introduction to Operating Systems

Operating System Today s Operating Systems File Basics File Management Application Software

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

CS 103 Lab Linux and Virtual Machines

CPS221 Lecture: Operating System Structure; Virtual Machines

Computer Systems and Networks. ECPE 170 Jeff Shafer University of the Pacific. Linux Basics

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Chapter 3. Operating Systems

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh

Introduction to Virtual Machines

Linux command line. An introduction to the Linux command line for genomics. Susan Fairley

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

Command Line Crash Course For Unix

OPERATING SYSTEMS Software in the Background. Chapter 2

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Upon completion of this chapter, you will able to answer the following questions:

Principles of Operating Systems CS 446/646

Star System Deitel & Associates, Inc. All rights reserved.

Operating Systems Introduction

Virtualization. Pradipta De

CS420: Operating Systems OS Services & System Calls

Virtualization with VMWare

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Operating System Structures

Lecture 1 Operating System Overview

Command-Line Operations : The Shell. Don't fear the command line...

Chapter 8 Objectives. Chapter 8 Operating Systems and Utility Programs. Operating Systems. Operating Systems. Operating Systems.

Operating System Components and Services

1 Basic commands. 2 Terminology. CS61B, Fall 2009 Simple UNIX Commands P. N. Hilfinger

Undergraduate Course Syllabus

Chapter Contents. Operating System Activities. Operating System Basics. Operating System Activities. Operating System Activities 25/03/2014

Overview of Operating Systems Instructor: Dr. Tongping Liu

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

Operating System Tutorial

An Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories

Hardware and Software Requirements for Installing California.pro

nanohub.org An Overview of Virtualization Techniques

1/5/2013. Technology in Action

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

Introduction. What is an Operating System?

Chapter 5 System Software: Operating Systems and Utility Programs

Getting Started with VMware Fusion

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Chapter 2 System Structures

Cambridge International AS and A Level Computer Science

Outline: Operating Systems

Chapter 4. Operating Systems and File Management

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first

Ubuntu Linux Reza Ghaffaripour May 2008

Multi-core Programming System Overview

Lesson 06: Basics of Software Development (W02D2

Running Windows on a Mac. Why?

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 2 Introducing Operating Systems

Chapter 3 Operating-System Structures

CPSC 226 Lab Nine Fall 2015

Unit 10 : An Introduction to Linux OS

Unix Guide. Logo Reproduction. School of Computing & Information Systems. Colours red and black on white backgroun

Networking Operating Systems (CO32010)

Operating System Software

How To Understand The History Of An Operating System

Operating Systems. Study this screen display and answer these questions.

Unix Sampler. PEOPLE whoami id who

Cisco Networking Academy Program Curriculum Scope & Sequence. Fundamentals of UNIX version 2.0 (July, 2002)

Lecture 6: Operating Systems and Utility Programs

Click to view Web Link, click Chapter 8, Click Web Link from left navigation, then click BIOS below Chapter 8 p. 395 Fig. 8-4.

New Lab Intro to KDE Terminal Konsole

OS Concepts and structure

Types Of Operating Systems

EECS 678: Introduction to Operating Systems

Chapter 7A. Functions of Operating Systems. Types of Operating Systems. Operating System Basics

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Gildart Haase School of Computer Sciences and Engineering

CS3600 SYSTEMS AND NETWORKS

Contents. Chapter 1. Introduction

Components of a Computer System

MFCF Grad Session 2015

Transcription:

Programming for GCSE Topic H: Operating Systems William Marsh School of Electronic Engineering and Computer Science Queen Mary University of London

Aims Introduce Operating Systems Core concepts Processes Memory management Files I/O Creating illusions

Teaching Issue Operating Systems are COMPLEX What are the big issues? It's just a PROGRAM It creates ILLUSIONS

Syllabus Operating Systems GCSE (OCR) Candidates should be able to: (a) explain the need for the following functions of an operating system: user interface, memory management, peripheral management, multi-tasking and security

From AQA A-Level Unit 3 Role of an Operating System Provision of a virtual machine Resource management Understand that the role of the operating system is to hide the complexities of the hardware from the user. In addition, it manages the hardware resources in order to provide for an orderly and controlled allocation of the processors, memories and I/O devices among the various processes competing for them.

HISTORY & VARIETY

History Mainframes Multi-programming Time sharing Personal computer Now with Mainframe OS

Variety of Operating Systems Mainframes IBM z/os, also Linux, Solaris Servers Linux (2/3) and Windows (1/3) Supercomputers PC (desktop, laptop) Phones and PDAs Real-time embedded systems Versions of Linux used from supercomputers to mobiles

Smart Phone OS (from 2011)

What's in an OS? United States v Microsoft: 1998-2001 Microsoft accused of monopoly behaviour Can IE be bundled with Windows? MS argued that IE part of Windows See: http://en.wikipedia.org/wiki/united_states_v._microsoft

INTERFACE TO THE OPERATING SYSTEM Shell System calls

Command Line Command line interface to Operating System Unix shell Windows command prompt Windows Powershell

Unix Shell Program that provides simple commands Files: ls, rm, mkdir, rmdir Programming language-like capability Many shells: sh, csh My Mac uses bash : http://en.wikipedia.org/wiki/bash_%28unix_shell%29 Scripting languages: perl, php, python

System Calls The OS is a program Other programs use OS functions Some examples using Python import os, sys!! print("os name:", os.name)! print("platform:", sys.platform)! print("process id:", os.getpid())! print("user id:", os.getuid())! print("file meta data:", os.stat("os1.py"))! print("current directory", os.getcwd())! os.chdir("..")! print("current directory", os.getcwd())!! for root, dirs, files in os.walk('.'):! if len(dirs) > 0 :! print(root, "contains directories:", dirs)!

CORE CONCEPTS Processes Managing memory File systems I/O OS structure

Processes An instance of a program running A process has Memory Use of resources (I/O) Process can exchange data Processes are created by other processes

Why Processes? 1. Multi-tasking A single program must wait for the disk Several programs improves throughput 2. Multi-users Different users share computer One user has multiple programs

How Many Programs Run at Once? Uniprocessor only one really Illusion of multiple processes Multiple processes increase throughput Multiple processes allow timesharing Multiprocessors several programs at once Concurrency v parallelism Parallelism: use multiple processors to go faster Concurrency: play music while editing

Memory Who? Lots of process sharing memory Who get the memory? Virtual memory Memory as it appears to the program Illusion: your program can use all the memory Physical memory What is really happening underneath

Memory Where? Is your data in cache or main memory? What happens when the programs overfill memory? The OS hides these issues from the programmer

File Systems Files organised into directories Hierarchy Ownership and protection Attributes Size Dates Illusion: disk is organised into file

Unix Command for Files ls list the directory mkdir make a new directory cd change current directory pwd show current directory rm delete a file rmdir delete a directory cp copy a file mv cat move / rename a file look at a file

I/O e.g. Disk Disk spins Latency Each rotation ~10ms ~10 7 instructions Operating system functions Throughput: keeps busy while waiting Scheduling File formats: arranges information on disk

I/O Buses and Drivers

I/O Interrupts Interrupt Avoid waiting for response Process requests OS interfaces to device DRIVER WAIT Device interrupts OS

Operating System Structure Principles Operating system calls user programs Kernel: control what runs Library of system calls Services Kernel Able to use all processor instruction & registers

EXPLORING OPERATING SYSTEMS Linux in a VM Raspberry Pi

Install Linux on a Virtual Machine Host v. guest Virtual machine Oracle virtual box www.virtualbox.org Vmware player http://www.vmware.com/products/player/ Run linux without reboot Memory

Virtual Machine How it works

SUMMARY

What Is An Operating System? Kernel Control of processes Hardware I/O drivers Memory management Services and utilities File systems Network interface System call: programmers interface Shell: simple interface to the OS NO clear division: application or OS?

OS is about Illusions Several programs are running simultaneously The computer switches from one to another My program has all the memory The memory is shared between programs Disk is organised in files The disk has blocks; the OS maps file names to blocks Storage devices work the same Files may be arranged differently on magnetic, flash and optical drives OS creates an ideal computer from a real one