CS145 - Chapter 4

Controlling Computers: Operating Systems

4.1 How Information Moves Around in a Computer

byte - number of adjacent bits used to represent a single character
word - number of adjacent bits that can be treated as a unit (smallest addressable part of memory)

Communication Pathways

bus - electrical path for signals to flow from point to point in a circuit: control bus, address bus, data bus
bus architecture - data transfer speed & amount of data that can be transferred and type of plug-in cards supported

open architecture

The parity bit is an extra bit that is added to the unit of information passed around in a computer. Even-parity systems choose the parity bit to make the number of one-bits in the unit of information even. Idd-parity systems have an odd number of one bits.

4.2 Types of Computers

Criteria of Classifying Computers

Multiuser Microcomputer System - 2-30 pcs networked

Benchmarks in the Microcomputer Industry

Microprocessors - Intel, Motorola, Zilog, MOS 6502, AMD, Cyrix, C & T, Pentium, Alpha

embedded microprocessors

Compatability - ROM-BIOS

RISC (Reduced Instruction Set Computer) vs. CICS

Computer Processing Speed: clock speed MHz (cycles/second)

memory type - Dynamic RAM has wait state

instruction set - RISC reduces clock cycles needed to execute

MIPS (386 - 3-4 MIPS; supercomputer >200)

support chips - coprocessor

LSI (Large Scale Integration)

VLSI (Very Large Scale Integration)

4.3 Operating Systems

THE OPERATING SYSTEM: THE BOSS

Definition: An operating system contains the algorithms that define how the computer is to interact with the outside world. this includes algorithms for controlling activities of the computer.

Definition: A computer's operating system (OS) is a group of programs designed to serve two basic purposes:

1. to control the allocation and use of the computing system's resources among the various users and tasks, and

2. to provide an interface between the computer hardware and the programmer that simplifies and makes feasible the creation, coding, debugging, and maintenance of applications programs.

ex. DOS, UNIX, OS/2, NeXTStep, Macintosh OS, VMS

Definitions

batch processing - execution of jobs by first collecting them and their associated data in a single batch without further interaction by the user.

Interactive Processing - allows user access to the computer through remote workstations during program execution

Real-time Processing - software coordinates its activities with those of the environment

virtual machine (VM) - one OS "simulating" another

Virtual Memory - page; rolling pages into primary storage; thrashing

Operating System Components

1. command processor - handles the dialogue with the user. Watches the devices and interprets the commands entered

2. scheduler - arranges for the execution of the program

3. process - series of operations associated with the execution of a sequence of instructions which affect a particular system or user action

4. file manager - unit that maintains the records pertaining to the information stored in mass storage. (Also protects files in mass storage against unauthorized access).

5. memory manager - coordinates the use of the computer's main memory.

6. resource allocator - coordinates the assignment of peripheral devices within the computer system.

7. dispatcher - coordinates the switching of the CPU among the various processes scheduled for execution.

JCL - job command language

Time Sharing

Interrupt Handling -

(i) save the current process's state (including program counter)

(ii) change the contents of the program counter to contain the location of the desired instructions (usually stored in the interrupt table)

Allocating time Slices - interrupts first process after fixed interval of time and begins second process, etc.

Resource Allocation

Coordinating the Use of Resources - disk units are shareable but tape and printers are not. Resource allocator prevents clashes over nonshareable resources

Can use a flag to identify if a resource is in use. Set and testing a flag requires several steps during which other devices could request use of the same resource.

Deadlock - involves two processes sharing more than one device on a partial basis.

Utility Software

editor - interactive way of creating and modifying files by means of a keyboard, mouse and monitor.

library of utilities

Getting It Started

IPL (initial program load) or Booting the system:

(i) ROM BIOS loads track 0 sector 0 of disk

(ii)boot loader loads I/O system(IBMBIO.COM & IBMBIO.DOS [IO.SYS & DOS.SYS])

(iii) IBMBIO.COM initializes hardware of computer and runs CONFIG.SYS; moves IBMBIO.COM into RAM

(iv) IBMDOS.COM loads COMMAND.COM which then runs AUTOEXEC.BAT

THE UNIX OPERATING SYSTEM: A CASE STUDY

UNIX: A User Perspective

command processor (shell) - interprets commands & schedules programs requested.

UNIX files - plain, directory, & device

organized as a file tree (hierarchical directory system)

working directory -

home directory -

Classes of users: owner, group, world

UNIX: An Inside View

kernel manages CPU, memory, file system, network and device interfaces, process management code

OS in PCs: Concepts

  1. Starting up or booting the computer
  2. The user interface
    A command line operating system is one in which communications are given to the computer by typing commands on the keyboard

    A graphical operating system interface (GUI) is one in which commands are usually give through a pointing device WIMPs

    agents - illigent programs used to assist the computer user

  3. Management of files
  4. Input and Output of Information
    drivers - program capable of getting information transferred between the hardware and the RAM
  5. Memory Concerns
  6. Multiprogramming, multitasking, and context switching

4.4 Multiprocessing, Multiprogramming, Process Control and Distributive Systems

I/O bound vs. CPU (calculation) bound

Parallel processing or multiprocessing refers to computing being done with more than one CPU. This means that several processor sor CPUs are simultaneously computing on a program.

Multiprogramming is a programming technique in which the memory of a computer contains more than one program, and the multiprogramming operating systems causes the CPU to work on each of them according to certain rules.

time-sharing is a form of multiprogramming in which the different programs in memory belong to a number of human users

system crash

Real-time processing is computing which involves humans interacting with the computer in a situation where quick or timely return of results is important

Process control refers to the control of some process by computer in real time. It is necessary for the computer to accept information, do some calculations using the information, and then manage the process on the basis of these calculations.

TASKING AND PROCESSES

process - series of operations associated with the execution of a sequence of instructions which effect a particular system or user action (active)

concurrency - coexistence of several active processes

nondeterminacy - each process can be interrupted between any two steps

time slice - maximum time a running process can control the processor

MEMORY MANAGEMENT

multiprogramming - at least two processes can be active during any time interval

Relocation

dynamic relocation - relocation of active programs

done by OS's memory management facility

requires virtual memory

actual address = base address + offset address

(base address kept in relocation register)

Actual Memory Management

Swapping - entire block of code for current process is swapped to secondary storage and replaced with next process's block of code

Segmentation - use variable sized block's of code corresponding to the program's logical blocks

Paging - uses fixed sized block's of code

Paging

Uses page frames in main memory to hold pages of code

each active process requires a page table whose address is kept in the page table register

tasks of memory management:

loading & entering program into virtual memory

fetching pages from virtual memory to main memory

calculating effective addresses for instructions and operand locations during program execution

selecting & moving out of main memory and back to virtual memory those pages not immediately needed to make room for new pages essential for a process' continued execution

Networks and Distributive Processing

A computer network is a collection of hardware and software connected to allow data and information to be transmitted easily from one computer to another.

This usually includes the sharing of devices and/or data. A computer network typically contains computers, network interface cards or modems, communication software and some type of transmission media usually wire or fiber-optic cable.

Local area networks or LANs, are networks that are limited geographically to a single site. Most local area networks of microcomputers employ the "client-server" architecture. Most computers in the network are client workstations; a few are servers. The server computers provide various services to the clients. These servers usually include shared disk storage, shared printers, and shared wide-area-network (WAN) access.

Different Topologies node; star, ring and bus topologies

Local Area Networks(LAN); local net; integrated with "long-haul" networks - GATEWAYS AND BRIDGES

A file server is a computer dedicated to providing files to other computers on the network.Distributed processing involves using a network to allow a single entity to decentralize its computing needs over several networked computers

Client Server Computing - A computer containing the resource responds to requests from other machines

Issues of Security

What is computer security? For some it is controlling access to hardware, software and data of a computerized system

A large measure of computer security is simply keeping the computer system's information secure. In broader terms, computer security can be thought of as the protection of the computer and its resources against accidental or intentional disclosure of confidential data, unlawful modification of data or programs, the destruction of data, software or hardware. It includes the denial of use of one's computer facilities for criminal activities including computer related fraud and blackmail.

Computer security involves the elimination of weaknesses or vulnerabilities that might be exploited to cause loss or harm.

-	Network Security Issues

sharing of resources complexity of system

unknown perimeter (linked networks) unknown path

many points of attack

- Security Exposures

privacy data integrity

authenticity covert channels

- Solutions

encryption

access control

automatic call back

node authentication

differentiated access rights

user authentication

passwords and passphrases

challenge-response systems

token or smart cards

exchange of secret protocol

personal characteristics

Misc. threats - viruses, worms, trapdoors, Trojan horses, masquerading

HOMEWORK: pp. - # 1, 2a, 4, 7
BACK TO Computer Science I Page