27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems...

23
27-1 Operating Systems

Transcript of 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems...

Page 1: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-1

Operating Systems

Page 2: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-2

What is impact does the operating system have?

• So Operating Systems provide:• Communications with the user

• Loading and executing user programs

• Memory Management

• Scheduling those programs to the CPU

• Communication between programs and the computer hardware

• A file system (organizing/manipulating files)• Other useful application the vendor includes to

help sell the operating system

– So different operating systems provide different qualities of the above

Page 3: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-3

ComparingOperating Systems

• Not all Operating Systems run on every type of computer

• The OS contains hardware specific code

– Microsoft Windows is written for generic (“x86”) PC hardware

– Macintosh OSX requires Apple hardware ...

– Linux (a free UNIX-based variant) will run any architecture

• programs really run on top of the OS, not the hardware

– There is no Microsoft Word for Linux, but there are Word Processors (free ones!)

– There is Microsoft Word for OSX. . .

• How do you compare Operating Systems?

Page 4: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-4

ComparingOperating Systems

• Comparing:– Windows XP– Macintosh OS X 10.4 (Tiger)– Linux

• Price?• Hardware platform?• Included Software?• Ease of Use?• Pretty?• Software Availability/Compatibility?

Page 5: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-5

Comparing Operating Systems

• Microsoft Windows XP Home – Based on Windows NT– Internally uses a modified version of Windows NT

• Crashes much less than Windows 95-98 (finally)• Relatively easy to use

– Price = ~$110– Hardware platform?

• Generic PC hardware (which is cheap!)– Included Software

• Web browser, Basic text editing, Basic Image editing, Movie Playback (but not DVD), Windows Media Player music player

– Ease of Use: Moderate• Difficult to get started, but not too hard• A lot of freedom can be complicated• User Interface

– Includes Microsoft’s GUI– Also provides a limited command-line interface to old MS-DOS

commands

Page 6: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-6

Comparing Operating Systems

• Apple OSX 10.4 – Based on UNIX (BSD)– Internally uses a modified version of UNIX, but presents an Apple created user

interface• Doesn’t crash (fail) very often (finally)• Very easy to use

– Price = ~$130– Hardware platform?

• Apple hardware only• Moderate negative, since Apple hardware is more expensive than generic PC

hardware (though mac mini changes this proposition)– Included Software

• Web browser, Basic text editing, Basic Image editing, DVD Playback, iTunes music player

– Ease of Use: Easy• Considered to be the easiest Operating System to use• So easy to use, can be limiting• User Interface

– Includes Apple’s own GUI, which is both easy to use and pretty– Internally runs a version of UNIX which makes it stable

Page 7: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-7

Comparing Operating Systems• Linux – Based on UNIX:

– Used by “high-powered computer” users in business, science, engineering and networking.• Flexible in doing multiple computing jobs. • Doesn’t crash (fail) very often (ever?).

– Price = free (mostly)• Open-source software: The original program source code is freely distributed.• Changes can be made to suit computing needs.

– Hardware platform?• All (Mac, PC, you name it, there’s probably a version)

– Included Software?• Varies

– Ease of Use: Generally difficult (Varies)• Many distributions, each with varied ease of install and use• Considered to be more difficult to use than others• User Interface

– Can use either command line or GUI– Popular command line: Korn shell, C shell, Bourne shell.– Examples of GUI to Linux: XWindows, Gnome and KDE

• A BU distribution of Linux is available: http://www.bu.edu/computing/linux/

Page 8: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-8

Networks

• With the explosion of the Internet– Many Operating Systems are considered “network Operating Systems”

• In addition to standard Operating System tasks they provide programs that allow communication with other computers on a network

– As security precautions were important before to protect the operating system and other programs from malicious programs

• Now we have to consider network security• We open your computer up to communication with the rest of the world

– Why is network security a problem?» We now have a source of data (bits) that we may not be able to

trust. We have to be extra careful about how we handle those bits (e.g., do not execute!)

» Bugs that exist in OS programs might allow malicious users to access your computer remotely – without your knowledge

Page 9: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-9

Computer Networking

Page 10: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-10

Goal of a Network

• Network: A collection connected entities– Refer to each entity in the network by the name “node”

• generic name given to any device in a network.

– The goal of a network is to allow nodes in the network to communicate in some way

• thinking concretely:– nodes computers– communication transfer of bits

– If computers are networked, we can communicate anything that can be represented in binary

• Text, Images, Sound, Video, Programs, etc...

– to facilitate such a network in abstract terms we need...

Page 11: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-11

Networking Requirements

• Specification/Naming of:– Nodes: Identify which entity you want to communicate

with– Paths: Describe the route of communications from you

to the target– Services: Identify where at the target this

communication is headed • i.e., what program/application

• Delivery Mechanism: How data is actually moved

• Content (the thing we are actually communicating)

• ... consider some domain specific networks

Page 12: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-12

Postal Network• Specification/Naming of:

– Nodes: A mailing address. Street Address.– Paths: Not explicit by the user USPS does it for you,

but you can request “faster” or “priority” paths– Services: A specific person at that address

• Delivery Mechanism: Local PO picks up letters...– The ZIP code breaks the country into regions, regional

distribution...

• content: we send packages and letters – physical things

• All naming/addressing is on the outside of the envelope (public)

• Content is on the inside envelope (private)

Page 13: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-13

Telephone Network• Specification/Naming of:

– Nodes: Telephone numbers– Paths: Not specified by the user. No priority– Services: “Is John there?” “For Susan, press 6 now”

• Delivery Mechanism: You dial a number and– The area code breaks the country into regions, the

prefix breaks regions into smaller distribution regions

• content: we send audio on a wire

• Everything is “private” -- unless it's a cell phone call

Page 14: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-14

The telephone network

• How do I place a call in the telephone network?– I pick up the phone

– I dial your (unique) phone number

– Your phone rings

• How does the call get to you?

Page 15: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-15

The telephone network

• Your phone is connected to the central office by a wire

• In olden days – an operator connected the wire to your phone to the wire to someone else’s phone . . .

Page 16: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-16

(switching)The telephone network

So a central office has *lots* of wires headed in.

- you pick up the phone and ring a bell

- the operator asks who you want to talk to

- the operator rings the person you want to call

- the operator then runs a wire between the two of you

How do we place longer distance calls?

Central Office

Page 17: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-17

(switching)The telephone network

• As the telephone network was modernized …

• Connections of central offices to connect “long distance” calls

• telephone numbers – unique ways to identify every phone user.

• Automated switching to remove the need for operators to manually patch the connections

• The phone at the ends is stupid!

• The intelligence is in the network.

Page 18: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-18

Cable Network• Specification/Naming of:

– Nodes: Cable boxes?– Paths: Not specified by the user.– Services: Different channels ?

• Delivery Mechanism: They send you everything, the same everything they send to everyone else!

– Your cable box decodes which channel you want to watch

• content: was audio/video

• Everything is public (but there's nothing that is private to protect)

Page 19: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-19

Let’s network computers

• What we would like:– Naming and Addressing; For computers this might be:

• The node will be some computer• The service will be some program you are

communicating with on that computer• The path doesn't matter to the user

– The content is bits (service specific)– The delivery mechanism? Wires? ... It's not that

simple.

Page 20: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-20

Send Locally, Scale Globally

• We want to build a facility by which we can send bits between a few computers that are connected to some shared wire.

– Computers directly connected by a so-called: physical connection

– the physical connections between computers create a local network

• Terminology:– internet: (lower case i) Any network connecting two or more

computer networks connected via physical connection (LAN)– Internet: A world-wide network connecting millions of

computer networks for the purpose of exchanging data and communications

• How do we build the Internet?– We build many internets and then connect them to form the

Internet

Page 21: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-21

The Internet Hourglass Model

• The physical layer is how machines are physically connected to each other . . .

FTP HTTP NV TFTP

TCP UDP

IP

Token Ring

Wi-fi (802.11

)

Ethernet

InterNetwork

Transport

Application

Physical

Page 22: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-22

Physical Layer

• We want to let a small number of computers communicate (and scale up from there)

• A physical connection between two or more computers (a wire?)

• Hardware in the computer that will know how to communicate across that wire

– Network Interface: a physical device connected to the computer that connects the device to the network (network interface card or NIC)

• Programs: that use/control the NIC– Programs adhere to a Protocol: An agreement on

how communication on this connection should take place

Page 23: 27-1 Operating Systems. 27-2 What is impact does the operating system have? So Operating Systems provide: Communications with the user Loading and executing.

27-23

Physical Layer

– Networking at the physical layer, local-area-network or LAN

– Our goal is to move bits (1’s and 0’s) between two nodes/computers:

A

E

B

C

D

– We need:• All network interfaces on the LAN will be connected to the same

wire must agree on a Protocol• Each network interface should have a unique “name” (i.e., for each

computer)– Must include the ability to label messages with a source address

and a destination address