程序代写代做代考 Fortran file system algorithm Java android assembler distributed system CO2017 — Operating Systems, Networks and Distributed Systems Week1 L1 — Introduction

CO2017 — Operating Systems, Networks and Distributed Systems Week1 L1 — Introduction

CO2017 — Operating Systems, Networks and

Distributed Systems

Week1 L1 — Introduction

Dr Gilbert Laycock (gtl1)

2017–01–23

gtl1–R868 W1L1 — Introduction 2017–01–23 1 / 20

Module Organisation Teaching staff

Teaching staff

Convenor: Dr Gilbert Laycock

email: gtl1@le.ac.uk
office: G15

Teaching assistants:

Whole team: co2017-team@mcs.le.ac.uk
Rafael Ktistakis
Marco Perez
Zeng Hao
Mirzhan Irkegulov

gtl1–R868 W1L1 — Introduction 2017–01–23 2 / 20

gtl1@le.ac.uk
co2017-team@mcs.le.ac.uk

Module Organisation Background

Background

The module webpage is
https://campus.cs.le.ac.uk/teaching/resources/CO2017/

Make sure you read this webpage regularly. News and additional
material will be posted there as the semester progresses.

Blackboard page will only be used for Reflect recordings.

It is worth reading the study guide, available on line on the
webpage.

gtl1–R868 W1L1 — Introduction 2017–01–23 3 / 20

https://campus.cs.le.ac.uk/teaching/resources/CO2017/

Module Organisation Timetable

Timetable

Lectures:

Mon 14:00–15:00 in ATT LT1
Mon 16:00–17:00 in ENG LT2
Tue 17:00–18:00 in LE LT3

Surgery/Problem Class:

Mon 17:00–18:00 in Eng LT2

Computer Class:

Fri 15:00–17:00 in CW301

gtl1–R868 W1L1 — Introduction 2017–01–23 4 / 20

Module Organisation Coursework

Coursework

Interactive shell use and simple shell programming 10%

Java Threads, Scheduling, Deadlocks 15%

Java Sockets 15%

gtl1–R868 W1L1 — Introduction 2017–01–23 5 / 20

Module Organisation Exam

Exam

New exam structure since summer 2015 year.

“Attempt all questions. Full marks may be obtained only if all
questions are answered.”

Papers from summer 2014 and earlier had a different structure.

gtl1–R868 W1L1 — Introduction 2017–01–23 6 / 20

Module Organisation Module materials

Module materials

Recommended reading:

Andrew S. Tanenbaum, Modern Operating Systems, 3rd ed.,
Prentice Hall, 2014.
Andrew S. Tanenbaum, (David J. Wetherall), Computer Networks,
5th ed., Prentice Hall, 2003/2014.
J. Farley, Java Distributed Computing, O’Reilly, 1997.
M. Boger, Java in Distributed Systems, Wiley, 2001.

Website:
https://campus.cs.le.ac.uk/teaching/resources/CO2017/

gtl1–R868 W1L1 — Introduction 2017–01–23 7 / 20

https://campus.cs.le.ac.uk/teaching/resources/CO2017/

Module Organisation Syllabus

Operating Systems

Introduction Overview; historical perspective.

Process management Programs and processes; multitasking;
dispatcher; scheduling and scheduling policies;
inter-process communication, in particular joint access to
shared resources; threads; Java thread programming.

Memory management Memory allocation methods; paging; virtual
memory; segmentation; protection and sharing.

File management Concept of file; directory structure; file
management techniques; directory implementation.

gtl1–R868 W1L1 — Introduction 2017–01–23 8 / 20

Module Organisation Syllabus

Networks/Distributed Systems

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, . . . ).

gtl1–R868 W1L1 — Introduction 2017–01–23 9 / 20

Operating Systems Introduction

Introduction

Brief history of computers, focusing on OS/network
developments.

The functions and parts of an OS and network.

A few key definitions.

gtl1–R868 W1L1 — Introduction 2017–01–23 10 / 20

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.

gtl1–R868 W1L1 — Introduction 2017–01–23 11 / 20

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.

gtl1–R868 W1L1 — Introduction 2017–01–23 12 / 20

Operating Systems File system and I/O

File system and I/O

Files: role and operations.

Methods of allocation of disc space.

Implementation of directories.

Also

Other system I/O and hardware interaction.

gtl1–R868 W1L1 — Introduction 2017–01–23 13 / 20

Operating Systems Practical issues and programming

Practical issues and programming

Investigating practical behaviour of real OS

Thread programming in Java

Application of multi-thread programming to practical problems

gtl1–R868 W1L1 — Introduction 2017–01–23 14 / 20

Overview of Operating Systems Brief history of Operating Systems

History of Operating Systems

Early days, programs were entered via switches. Advances:

Cards/paper tape used, and read in by a loader program
Simple terminals with keyboard ⇒ control console
Punch cards were employed for storage

In the 1950s

Standard subroutines produced and loaded at start-up
Magnetic tapes used for storage, then disks
Assemblers appeared, then FORTRAN and ALGOL

In the late 1950s, batch systems first appeared.

Atlas (designed at Manchester Univ.) was 1st with an OS in mind: interrupts and
virtual memory
The loader program was elaborated to allow batch processing
Control cards ⇒ job control languages

gtl1–R868 W1L1 — Introduction 2017–01–23 15 / 20

Overview of Operating Systems Brief history of Operating Systems

History of Operating Systems (Cont’d)

In the mid/late 1960s, multi-programming followed.

CPU could switch between jobs, allowing processing and I/O
simultaneously
Desire for quick response leads to time-sharing via on-line operations

In the 1980s

graphical user interfaces started to be widely used.
The Internet provides shared access to computing resources, to data/files.

Current trends

Workstations vs mobile devices vs smart devices vs cloud computing;
Distributed Systems; Graphical User Interfaces

Some common OSs

Microsoft OSs, Unix-like OSs, and MacOS; iOS, Android,

gtl1–R868 W1L1 — Introduction 2017–01–23 16 / 20

Overview of Operating Systems System structure

Computer System Structure

A computer system consists of hardware and software.

Software: application software and system software.

Operating System is the most important system software.

gtl1–R868 W1L1 — Introduction 2017–01–23 17 / 20

Overview of Operating Systems Operating system

Operating system

A computer program that mediates between hardware and
application programs.

Consists of many loosely related parts handling

Memory management
I/O management
CPU Scheduling
Communications
Multi-tasking/multi-programming

Principles:

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

We will study algorithms run by these parts.

Assumption: single-processor computer (mostly)

gtl1–R868 W1L1 — Introduction 2017–01–23 18 / 20

Overview of Operating Systems Operating system

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.”

gtl1–R868 W1L1 — Introduction 2017–01–23 19 / 20

Overview of Operating Systems Operating system

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.

gtl1–R868 W1L1 — Introduction 2017–01–23 20 / 20

Module Organisation
Teaching staff
Background
Timetable
Coursework
Exam
Module materials
Syllabus

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

Overview of Operating Systems
Brief history of Operating Systems
System structure
Operating system