CO2101 Operating Systems, Networks and Distributed Systems - - PowerPoint PPT Presentation

co2101 operating systems networks and distributed systems
SMART_READER_LITE
LIVE PREVIEW

CO2101 Operating Systems, Networks and Distributed Systems - - PowerPoint PPT Presentation

CO2101 Operating Systems, Networks and Distributed Systems Introduction Tom Ridge (tr61) 7th October 2019 tr61 Introduction 7th October 2019 1 / 25 Module Organisation Outline Module Organisation 1 Teaching staff Background


slide-1
SLIDE 1

CO2101 — Operating Systems, Networks and Distributed Systems Introduction

Tom Ridge (tr61) 7th October 2019

tr61 Introduction 7th October 2019 1 / 25

slide-2
SLIDE 2

Module Organisation

Outline

1

Module Organisation Teaching staff Background Timetable Coursework Exam Module materials Syllabus

2

Overview of Operating Systems

3

Attributions

tr61 Introduction 7th October 2019 2 / 25

slide-3
SLIDE 3

Module Organisation Teaching staff

Teaching staff

Convenor: Dr Tom Ridge

email: tr61@le.ac.uk

  • ffice: F4

Teaching assistants:

See module webpage for details.

tr61 Introduction 7th October 2019 3 / 25

slide-4
SLIDE 4

Module Organisation Background

Background

The module webpage is http://www.tom-ridge.com/CO2101/ Make sure you read this webpage regularly. News and additional material will be posted there as the semester progresses. Blackboard page will be used for Reflect recordings and not much else. It is worth reading the study guide, available on line on the webpage.

tr61 Introduction 7th October 2019 4 / 25

slide-5
SLIDE 5

Module Organisation Timetable

Timetable

See also the module webpage. Lectures:

Mon 14:00–15:00 Mon 16:00–17:00

Tutorial/Surgery/Problem Class:

Mon 17:00–18:00

Computer Class:

Tue 15:00–17:00 in CW301

tr61 Introduction 7th October 2019 5 / 25

slide-6
SLIDE 6

Module Organisation Coursework

Coursework

Various exercises set throughout the course (especially lab exercises and surgeries). T wo class tests, one in week 6 and one in week 10. Each is worth 50% of the mark. Details of class tests will be made available well in advance of the class tests themselves.

tr61 Introduction 7th October 2019 6 / 25

slide-7
SLIDE 7

Module Organisation Exam

Exam

There is no exam!

tr61 Introduction 7th October 2019 7 / 25

slide-8
SLIDE 8

Module Organisation Module materials

Module materials

Everything is available from the module webpages. Recommended reading: this is now maintained by the library; see module webpage for link.

tr61 Introduction 7th October 2019 8 / 25

slide-9
SLIDE 9

Module Organisation Syllabus

Operating Systems: syllabus

Introduction Overview

tr61 Introduction 7th October 2019 9 / 25

slide-10
SLIDE 10

Module Organisation Syllabus

Operating Systems: syllabus

Introduction Overview Process management Programs and processes (and threads!); multitasking; dispatcher; scheduling and scheduling policies; inter-thread communication, in particular joint access to shared resources; threads; thread programming (Java and/or Python).

tr61 Introduction 7th October 2019 9 / 25

slide-11
SLIDE 11

Module Organisation Syllabus

Operating Systems: syllabus

Introduction Overview Process management Programs and processes (and threads!); multitasking; dispatcher; scheduling and scheduling policies; inter-thread communication, in particular joint access to shared resources; threads; thread programming (Java and/or Python). Memory management Memory allocation methods; paging; virtual memory; segmentation; protection and sharing.

tr61 Introduction 7th October 2019 9 / 25

slide-12
SLIDE 12

Module Organisation Syllabus

Operating Systems: syllabus

Introduction Overview Process management Programs and processes (and threads!); multitasking; dispatcher; scheduling and scheduling policies; inter-thread communication, in particular joint access to shared resources; threads; thread programming (Java and/or Python). Memory management Memory allocation methods; paging; virtual memory; segmentation; protection and sharing. File management Concept of file; directory structure; file management techniques; directory implementation.

tr61 Introduction 7th October 2019 9 / 25

slide-13
SLIDE 13

Module Organisation Syllabus

Networks/Distributed Systems

NOTE the following is likely to be reduced significantly Introduction Overview; different sorts of networks; layered protocols.

tr61 Introduction 7th October 2019 10 / 25

slide-14
SLIDE 14

Module Organisation Syllabus

Networks/Distributed Systems

NOTE the following is likely to be reduced significantly Introduction Overview; different sorts of networks; layered protocols. OSI model A short overview, contrast with TCP/IP model

tr61 Introduction 7th October 2019 10 / 25

slide-15
SLIDE 15

Module Organisation Syllabus

Networks/Distributed Systems

NOTE the following is likely to be reduced significantly Introduction Overview; different sorts of networks; layered protocols. OSI model A short overview, contrast with TCP/IP model

tr61 Introduction 7th October 2019 10 / 25

slide-16
SLIDE 16

Module Organisation Syllabus

Networks/Distributed Systems

NOTE the following is likely to be reduced significantly Introduction Overview; different sorts of networks; layered protocols. OSI model A short overview, contrast with TCP/IP model Low Layers Error detection and correction; flow control; channel allocation; protocols for local area networks; bridges. Datagrams and virtual circuits; routing; congestion control; inter-networking; the network layer in the Internet.

tr61 Introduction 7th October 2019 10 / 25

slide-17
SLIDE 17

Module Organisation Syllabus

Networks/Distributed Systems

NOTE the following is likely to be reduced significantly Introduction Overview; different sorts of networks; layered protocols. OSI model A short overview, contrast with TCP/IP model Low Layers Error detection and correction; flow control; channel allocation; protocols for local area networks; bridges. Datagrams and virtual circuits; routing; congestion control; inter-networking; the network layer in the Internet. Upper layers Connection management; transport layer in the Internet; congestion control; socket concept; Java socket

  • programming. Application example (e-mail, http, . . . ).

tr61 Introduction 7th October 2019 10 / 25

slide-18
SLIDE 18

Overview of Operating Systems

Outline

1

Module Organisation

2

Overview of Operating Systems Introduction System structure Operating system Processes and scheduling Memory management File system and I/O Practical issues and programming

3

Attributions

tr61 Introduction 7th October 2019 11 / 25

slide-19
SLIDE 19

Overview of Operating Systems Introduction

Introduction

Brief history of computers, focusing on operating system and network developments. This is now available as a separate set of slides that you can read as part of independent study. See module webpage.

tr61 Introduction 7th October 2019 12 / 25

slide-20
SLIDE 20

Overview of Operating Systems Introduction

Introduction

Brief history of computers, focusing on operating system and network developments. This is now available as a separate set of slides that you can read as part of independent study. See module webpage. The functions and parts of an OS and network. A few key definitions.

tr61 Introduction 7th October 2019 12 / 25

slide-21
SLIDE 21

Overview of Operating Systems System structure

Computer System Structure

A computer system consists of hardware and software.

tr61 Introduction 7th October 2019 13 / 25

slide-22
SLIDE 22

Overview of Operating Systems System structure

Computer System Structure

A computer system consists of hardware and software. Software: application software and system software (software designed to support creation of other software).

tr61 Introduction 7th October 2019 13 / 25

slide-23
SLIDE 23

Overview of Operating Systems System structure

Computer System Structure

A computer system consists of hardware and software. Software: application software and system software (software designed to support creation of other software). Operating System is the most important system software.

tr61 Introduction 7th October 2019 13 / 25

slide-24
SLIDE 24

Overview of Operating Systems Operating system

Operating system

A cohesive collection of programs/libraries/interfaces that mediate between hardware and application programs.

tr61 Introduction 7th October 2019 14 / 25

slide-25
SLIDE 25

Overview of Operating Systems Operating system

Operating system

A cohesive collection of programs/libraries/interfaces that mediate between hardware and application programs. Consists of many loosely related sub-systems

Memory management and file system I/O management CPU Scheduling Communications Multi-tasking/multi-programming Standard utilities and libraries

tr61 Introduction 7th October 2019 14 / 25

slide-26
SLIDE 26

Overview of Operating Systems Operating system

Operating system

A cohesive collection of programs/libraries/interfaces that mediate between hardware and application programs. Consists of many loosely related sub-systems

Memory management and file system I/O management CPU Scheduling Communications Multi-tasking/multi-programming Standard utilities and libraries

Principles:

Keep user programs from crashing OS and each other Allocate resources efficiently and fairly

tr61 Introduction 7th October 2019 14 / 25

slide-27
SLIDE 27

Overview of Operating Systems Operating system

Operating system

A cohesive collection of programs/libraries/interfaces that mediate between hardware and application programs. Consists of many loosely related sub-systems

Memory management and file system I/O management CPU Scheduling Communications Multi-tasking/multi-programming Standard utilities and libraries

Principles:

Keep user programs from crashing OS and each other Allocate resources efficiently and fairly

We will study algorithms run by these sub-systems. Assumption: single-processor computer (mostly)

tr61 Introduction 7th October 2019 14 / 25

slide-28
SLIDE 28

Overview of Operating Systems Operating system

Linux kernel block diagram

tr61 Introduction 7th October 2019 15 / 25

slide-29
SLIDE 29

Overview of Operating Systems Operating system

Linux kernel block diagram

To understand the structure, remember that the OS provides virtualization and controlled usage for: Memory CPU Block devices (for storage via a filesystem) Network devices Of course, there are other things as well, but this covers the main areas.

tr61 Introduction 7th October 2019 16 / 25

slide-30
SLIDE 30

Overview of Operating Systems Processes and scheduling

Processes and scheduling

How do two or more programs “simultaneously” run on the same computer?

tr61 Introduction 7th October 2019 17 / 25

slide-31
SLIDE 31

Overview of Operating Systems Processes and scheduling

Processes and scheduling

How do two or more programs “simultaneously” run on the same computer? Scheduling: related definitions. Principles of fair scheduling. Scheduling algorithms.

tr61 Introduction 7th October 2019 17 / 25

slide-32
SLIDE 32

Overview of Operating Systems Processes and scheduling

Processes and threads

An OS supports multiple processes running “at the same time”

tr61 Introduction 7th October 2019 18 / 25

slide-33
SLIDE 33

Overview of Operating Systems Processes and scheduling

Processes and threads

An OS supports multiple processes running “at the same time” Within a process, there can be multiple threads running “at the same time”.

tr61 Introduction 7th October 2019 18 / 25

slide-34
SLIDE 34

Overview of Operating Systems Processes and scheduling

Processes and threads

An OS supports multiple processes running “at the same time” Within a process, there can be multiple threads running “at the same time”. The threads within a process can share things like global variables (contrast this with processes, which cannot).

tr61 Introduction 7th October 2019 18 / 25

slide-35
SLIDE 35

Overview of Operating Systems Processes and scheduling

Processes and threads

An OS supports multiple processes running “at the same time” Within a process, there can be multiple threads running “at the same time”. The threads within a process can share things like global variables (contrast this with processes, which cannot). It turns out that threads are a very useful feature when programming certain types of system.

tr61 Introduction 7th October 2019 18 / 25

slide-36
SLIDE 36

Overview of Operating Systems Memory management

Memory management

Why is concurrent use of shared memory not safe without special precautions?

tr61 Introduction 7th October 2019 19 / 25

slide-37
SLIDE 37

Overview of Operating Systems Memory management

Memory management

Why is concurrent use of shared memory not safe without special precautions? Safe concurrent use of memory. . . Safe concurrent use of memory without unnecessary delays.

tr61 Introduction 7th October 2019 19 / 25

slide-38
SLIDE 38

Overview of Operating Systems Memory management

Memory management

Why is concurrent use of shared memory not safe without special precautions? Safe concurrent use of memory. . . Safe concurrent use of memory without unnecessary delays. Concurrent protocols under particular hardware assumptions.

tr61 Introduction 7th October 2019 19 / 25

slide-39
SLIDE 39

Overview of Operating Systems Memory management

Memory management

Why is concurrent use of shared memory not safe without special precautions? Safe concurrent use of memory. . . Safe concurrent use of memory without unnecessary delays. Concurrent protocols under particular hardware assumptions. Virtual memory: a way to run a program requiring memory exceeding available RAM. Paging algorithms.

tr61 Introduction 7th October 2019 19 / 25

slide-40
SLIDE 40

Overview of Operating Systems File system and I/O

File system and I/O

Files: role and operations. Methods of allocation of disc space.

tr61 Introduction 7th October 2019 20 / 25

slide-41
SLIDE 41

Overview of Operating Systems Practical issues and programming

Practical issues and programming

Investigating practical behaviour of real OS Thread programming in Python and/or Java Application of multi-thread programming to practical problems

tr61 Introduction 7th October 2019 21 / 25

slide-42
SLIDE 42

Overview of Operating Systems Practical issues and programming

Networks

A network is two or more computers connected by a physical medium.

tr61 Introduction 7th October 2019 22 / 25

slide-43
SLIDE 43

Overview of Operating Systems Practical issues and programming

Networks

A network is two or more computers connected by a physical medium. The question we will be studying in the class: how to transfer a message from one computer to another reliably and efficiently?

tr61 Introduction 7th October 2019 22 / 25

slide-44
SLIDE 44

Overview of Operating Systems Practical issues and programming

Networks

A network is two or more computers connected by a physical medium. The question we will be studying in the class: how to transfer a message from one computer to another reliably and efficiently? Detailed discussion of the subject is offered by advanced modules “Networking” and “Cryptography and Internet security.”

tr61 Introduction 7th October 2019 22 / 25

slide-45
SLIDE 45

Overview of Operating Systems Practical issues and programming

Distributed systems

Distributed system is a program than runs on two or more computers.

tr61 Introduction 7th October 2019 23 / 25

slide-46
SLIDE 46

Overview of Operating Systems Practical issues and programming

Distributed systems

Distributed system is a program than runs on two or more computers. We will implement a simple distributed system based on the client-server architecture.

tr61 Introduction 7th October 2019 23 / 25

slide-47
SLIDE 47

Overview of Operating Systems Practical issues and programming

Distributed systems

Distributed system is a program than runs on two or more computers. We will implement a simple distributed system based on the client-server architecture. Detailed discussion of the subject is offered by the “Distributed systems” module.

tr61 Introduction 7th October 2019 23 / 25

slide-48
SLIDE 48

Attributions

Outline

1

Module Organisation

2

Overview of Operating Systems

3

Attributions

tr61 Introduction 7th October 2019 24 / 25

slide-49
SLIDE 49

Attributions

Picture attributions

EDSAC console: CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=432939 By Cushing Memorial Library and Archives, Texas A&M - Flickr: IBM Processing Machine, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=17397582 By Iain MacCallum - “email from my father, Iain MacCallum,” CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=18776249 By Jason Scott - Flickr: IMG-9976, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=29457452 CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=18061 By Christian Heilmann - Flickr: The first Google computer at Stanford, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=30041591 By ScotXW - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=47075153

tr61 Introduction 7th October 2019 25 / 25