operating systems and networks fall 2012. what is an operating system an operating system is a...

32
Operating Systems and Networks Fall 2012

Upload: joy-clarke

Post on 24-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Operating Systems and Networks

Fall 2012

What is an Operating System

• An operating system is a software program that coordinates activities between the hardware and the user.

• Unrelated activities should not interfere with each other and the user should be unaware of the details involved.

• Simple means of program execution– Batch processing– Job queue

• FIFO fashion (First-In First-Out)

The Evolution of Operating Systems

Batch processing

• More complex -- Interactive Processing– Real-time processing

• Now the machine runs programs in the context of a user environment,

• the program can be responsive and can be directed during its execution.

– Crucial to this is time-sharing• Dividing time into fixed-length intervals, or time

slices. A job is only allowed to execute for a single time slice, then another is allowed to execute, then another, …

• This allows the computer to do many things “at the same time”

Interactive processing

– Time sharing is usually manifest in what we call multitasking

• Doing many things at once.

• Multitasking can increase efficiency and productivity

• Examples:– Cooking a meal on a one-burner stove (“serial”) versus cooking a

meal on a 4-burner stove (“parallel”). When you cook on a multi-burner stove you are multitasking and assigning time slices to different items being cooked. Stir one pot for a few seconds, then turn your attention to another pot and add some ingredients; then turn to check on a third pot, etc. Each pot is a different process.

– Working on a computer:You finish a term paper and select “print”. While you are waiting for the paper to print you switch over to Netscape and surf the web for a while. This would not be possible without time sharing and multitasking. You would have to wait for the printer to finish before doing anything else!

• Early on -- operating systems were used to coordinate and schedule batch processes.

• With multiple users or the need to run different programs at the same time and handle many different user interfaces, operating systems became more complicated and more powerful. Now the operating system provides an environment in which applications run.

Operating System Architecture

• Operating system architecture: Let’s start at the top

Software

Application System

Utility Operating

Shell Kernel

• Shell - the interface between the OS and the user– Modern shells implement a graphical user interface or

GUI (“Gooey”)

– Older shells used a command line interface• DOS, UNIX

– The shell is merely an interface. Good ones are easy to use and increase productivity. Poor ones are hard to figure out, and require wasting time to figure out how to do something.

• Apple Macintosh, Microsoft Windows, Gnome and KDE on Linux, Solaris, …

• But this is what the user uses! So it is what most people associate with computers. The real heart of the computer, however, is the operating system and the kernel is the heart of the OS.

The shell as an interface between users and the operating system

The GUI had its roots in the 1950s but was not developed until the 1970s when a group at the Xerox Palo Alto Research Center (PARC) developed the Alto, a GUI-based computer. The Alto was the size of a large desk, and Xerox believed it unmarketable. [Steve] Jobs took a tour of PARC in 1979, and saw the future of personal computing in the Alto. … When Jobs accused Bill Gates of Microsoft of stealing the GUI from Apple and using it in Windows 1.0, Gates fired back:

No, Steve, I think its more like we both have a rich neighbor named Xerox, and you broke in to steal the TV set, and you found out I'd been there first, and you said. "Hey that's no fair! I wanted to steal the TV set!

-- www.apple-history.com

• Kernel -- software which performs the most basic functions required to make a modern computer run– File manager

• Coordinates the use of the machine’s mass storage facilities.

• Files, directories and folders (hierarchical organization)

• path

• file descriptor (information needed to find and access a file)

– Device drivers• Software units that communicate with the controllers of the

devices.

– Memory manager• Coordinates the machine’s use of main memory (including

virtual memory)

– Scheduler

– Dispatcher

• Booting a computer:– Boot strapping or booting

• The first thing performed by the computer when it is turned on (or re-booted)

• The computer is designed so that it’s program counter will always point to one particular address in ROM. This is where a permanent program resides which gets the computer going. It directs the computer to load a program, or programs, from mass storage (hard disk, floppy*, CD, …) into main memory and then execute them. These programs are the operating system binaries.

The booting process

The booting process

• “One of the most fundamental concepts of modern operating systems is the distinction between a program and the activity of executing a program.”– A program -- a static set of directions

– A process -- the dynamic activity of the machine whose properties change as time progresses. At any particular time the current status of the activity is called the process state.

– The process state exactly and completely defines everything needed to run the program. (i.e. the address in the program counter, the contents of the registers, and the contents of main memory cells which are being used by the program. It is a snapshot of the machine at a particular time.

Coordinating the Machine’s Activities

• A program can have many processes associated with it:– A word processing program can have many different

files open at the same time. It can also be printing a document and spell-checking another. These are all different processes with their own data.

• All these processes (from one program or from many) compete for processor time (compete for time slices)– We must have an administrator to coordinate all this.

• Process Administration– “Tasks associated with process coordination are

handled by the scheduler and dispatcher within the operating system’s kernel.”

– Scheduler -- The scheduler maintains a process table to organize the current processes.

• The process table contains information about each process:

– memory area assigned to the process (from the memory manager)

– priority of the process (ready, waiting, …)

– Dispatcher -- the part of the kernel that ensures that each scheduled process is actually executed.

• Controls the time-sharing behavior

• Handles interrupts.

Time-sharing between process A and process B

“Paramount to the success of a time-sharing system is the ability to stop, and later restart, a process.”

You must be able to pick up exactly where you left off.

• The OS (here meaning kernel) must be able to allocate resources of the machine so that all the processes are executed smoothly, with no errors, and without time wasting conflicts.

• A potential problem:– Two processes are competing for resources. One

process holds access to the printer and is waiting for access to the hard drive. Another process holds access to the hard drive and is waiting for access to the printer.

Handling Competition Among Processes

Deadlock

Two broad categories:• local area networks (LAN’s)• wide area networks (WAN’s)

– These describe the physical arrangement of the network

• The operation of the network can be either open or closed– Open -- operation is governed by an open standard

of communication. Everyone can see how it works.– Closed -- proprietary; The details are hidden and are

the exclusive property of a company.

Networks

• Classification – ring– bus– star– irregular

• The Internet can be understood in terms of collections of networks called domains. (See figure 3.11)– Each domain could be a University or a company.

• Each domain is an autonomous system that is configured and administered by a local authority (maybe the “Network System Administrator”)

• We must have a common addressing scheme within all networks so that we can locate a particular machine:– Each machine is assigned a 32 bit address called an IP

address. Each computer is given a numerical address.

– The IP address is broken down into a host address and a network identifier.

140.211.117.7 -- gilligan.wou.edu

Addresses go from:

0. 0. 0. 0

to

255.255.255.255• Thinking about this in a simple way, how many machines

can we put on the internet?

– Total machines = 232 4.29 billion

– Total domains = 224 16.8 million

– Machines/domain = 28 256

140.211.117.7Network identifier Host address

• We are accustomed to the alpha-numeric form of the machine address:

gilligan.wou.edu

• This is not a web address. Rather it contains both the network identifier and the host address. This is the machine whose name is gilligan within the domain wou.edu.

• Domain name: wou.edu• The domain name is also classified by type:

– .com, .edu, .org, .mil, .gov, .uk, .de, . . .

• E-mail:

[email protected]

• Domain name server– A directory system that performs conversions from

mnemonic addresses to numeric addresses.

– Responds to requests regarding addresses

– All the Internet’s name servers make up an Internet-wide directory system

locally assigned address for user

Domain name

• New domain?– Must register with InterNIC

• Internet Service Provider (ISP)– Companies which establish a domain and then sell

addresses within the domain to users, who usually “dial in” with a modem. Provides access to the internet and email.

• Peak, ProAxis, MSN, America Online (AOL), AT&T@Home, . . .

• WWW (World Wide Web)– A world-wide set of documents and files which

can be publicly accessed and are linked together through hypertext links.

– The web pages we see are written in a hypertext language. Today the standard is HTML or Hypertext Markup Language. There are others and this standard will continue to evolve.

– We access these files with a browser.• Netscape Navigator, Microsoft Internet Explorer,

Mosaic, Opera, . . .

– Pages are accessed with a unique address called a uniform resource locator or URL.

• Networks– Networks operate under protocols.

(communication protocols) This way everyone is speaking the same language and is abiding by the same rules.

• Security– password protection

• NEVER use a birthday, your name, your initials, common words, etc.

– Encryption• public-key encryption

– public key -- used to encode messages (can’t decode)

– private key -- used to decode messages

• Monitoring– FBI

– Your employer

– This University

– Your ISP

– Your parents

• Virus• Worm