Analog and Digital Signals - College of Saint Benedict and
Download
Report
Transcript Analog and Digital Signals - College of Saint Benedict and
LAYERED ARCHITECTURE
LAYER
Order
Application SW: Excel & Access
2
High-order P.L.: Visual Basic
1
Low-order P.L.: Assembly
3
System SW: O.S.
3
Machine Language
4
Data Representation
5
HW: Circuit Design
6
INTRODUCTION
Software is the set of all programs that run on a
computer
VS Hardware : “Hard”
Has a physical presence
Comes in two forms
System Software: controls the computer
Applications Software: accomplishes user-defined tasks
SYSTEM SOFTWARE
Hide complex details
Registers, empty memory locations, starting location of
program in memory operations in ALU, etc …
Assembly translation programs (Assembler/Loader)
Computer users, and even programmers, do not have to
be aware of such details
System software provides this great flexibility
Interface between user and hardware
SYSTEM SOFTWARE
Makes a virtual computer which hides almost all technical
details from the user resulting in user-friendly
experiences
No need to worry about details such as register size of memory
location of a given program
The system takes care of it AUTOMATICALLY
System Software
Applications
Software
Every data or
instruction works its
way through: Even a
simple mouse click !
USER
Hardware
SYSTEM SOFTWARE
System software comes in three forms
Translation programs
E.g. assembler
Assembly to machine language
More on this issue when we study other programming languages
(next chapter)
Operating systems
Utility program
Communication programs
OPERATING SYSTEMS (OS)
A collection of programs that
Manages your computer
Defines HOW a computer will interact with the outside
Prepares programs and their data to interact with hardware
Booted up,
The OS is loaded into main memory for initialization
BIOS
BIOSs held in ROM (cannot be altered)
Hides all details
Giving us the illusion of being the only user whose entire program is
loaded into memory
OS - SECURITY
Usernames and passwords are ubiquitous in OSs to control access to
computers
Care must be taken in choosing usernames and passwords
Programs can be written to try all words in a dictionary in order to guess your password
Long
Meaningless to others
NEVER SHARE
SYSTEM LEVEL
You want to control the access to some resource or file even for
authorized users (i.e. having access to the computer) (OSs provide
permissions
Read, Write, Execute or NONE
Per file
OS maintains a list of authorized users per file along with their permissions
OS - I/O & AUXILIARY STORAGE
Passing of information between main memory and
peripheral devices
I/O & Auxiliary Storage
E.g. Printers, mice, keyboards, disks, tapes, etc …
For I/O: Translation of input data to binary and output data
from binary (to whatever the I/O device is using)
For secondary storage: Supervision and organization of
data stored on tapes and disks (Auxiliary storage)
OS - I/O & AUXILIARY STORAGE
Writing to Disks
Find empty space
Transfer data (No translation)
Update disk directory (location of new file)
Update list of empty space
Attempts to optimize the use of available space
How to find the best fit for a particular file?
First available position that could accommodate the file
One with close size to that of the file
Split into more that one position
OS - I/O & AUXILIARY STORAGE
Deleting from disk
Update directory only
Remove the files entry
Add space occupied by file to available space
A fragmented disk usually has empty space but this space is
scattered all over the disk with not much contiguity
Defragmenters
CPU ALLOCATION
Single-user systems allocate all CPU time to one user/program
Multi-user systems?
Sharing main memory and CPU time
CPU is very efficient
Process between millions to billions of instructions per second
Other devices on the computer aren’t as fast
Printers: 100 characters per second
Disks:
several milliseconds to look up address in directory
several milliseconds to locate track and sector (spin disk) and position the R/W head
Physical motion will always be slower than transferring electric pulses
I/O bound
A machine whose performance is limited due to I/O
CPU is idle most of the time
CPU ALLOCATION
Solutions
Overlapped processing
Running other programs while current is waiting for I/O
Good for I/O
What about short programs waiting for long ones?
Starvation
Multi-tasking (multiprogramming, timesharing)
All programs requesting CPU time will have access to it in timeslices
All are in memory together and are listed in a a ready queue
MULTI-TASKING
1 CPU, 1 main memory with many users
When the CPU has time, it picks the first in ready queue and runs it
for a timeslice
Saves a snapshot of the state of the current program (CU registers)
Moves on to the next one and places the old back in the ready queue
All processes run together
User won’t notice because the timeslice is very short
We CAN’T perceive time spans of less than 40-50 milliseconds
Shorter timelices
+ Give the illusion of continuous process
- Not very good if most of time is spent on saving the snapshots (wasted time)
We need to strike a balance
PARALLEL PROCESSING
As opposed to multi-tasking
1 main memory, many CPUs with many users
Jobs can be distributed among CPUs
Even one job can span many CPUs each working on some
subtask
Very complex process
Beyond the scope of this course
OS - MEMORY MANAGEMENT
RAM VS Hard disk
Assume multitasking
1 CPU, many programs
Can’t all fit in memory
OS keeps list of empty
space
Adds to it when programs are
done
Fragmentation could happen
OS - MEMORY MANAGEMENT
Compaction
OS - MEMORY MANAGEMENT
Paging
Allow one program to occupy many noncontiguous memory segments (pages)
OS - MEMORY MANAGEMENT
Swapping
What if there are no pages to fit all program?
Start program by loading only needed pages
Swap between needed and unneeded ones
NETWORKS
We are not in isolation anymore
Help computers communicate
Transfer data without physical intervention (i.e. not via disk or tape)
Sharing resources
5 users and all want to access a printer?
LANs
Limited to a single building or campus
WANs
Span cities, countries and even continents
NETWORK TOPOLOGIES
Ring vs. Star topologies
CLIENT/SERVER MODEL – STAR TOPOLOGY
THE INTERNET & WEB
TYPES OF CONNECTIONS
Physical connections
Twisted-pair wire
Two insulated copper wires wrapped around each other.
Transmit electrical signals
US phone system
Used to form WANs
NETWORKS
Coaxial cable
Insulated copper wire
Used for cable TVs
Faster and less prone to interference than twisted-pair but more
expensive
NETWORKS
Fiber Optics
Fastest
Transfer light instead of
electricity
No weight
Less prone to
interference
Expensive to install
WIRELESS NETWORKS
Wireless (non-physical) connections
Radio waves (In LANs)
Where physical wiring isn’t very convenient
Prone to a lot of interference from radio transmitters
Microwaves (In WANs)
Use high frequency radio signals which travel easily but only in straight lines
Relay towers must be set up at intervals or satellites must be used for larger distances
Carries more data (high frequency)
WIRELESS NETWORKS
Types of electromagnetic waves
They only differ from each other in
wavelength/frequency
Wavelength is the distance between one
wave crest to the next
WIRELESS NETWORKS
The potential drawbacks to a wireless solution include
Intervening hills and tall buildings or trees can block the radio
frequency (RF) signals
"line-of-sight“: antennas must be able to "see" each other
Severe weather, can adversely affect signal transmission
Might be susceptible to other radio frequency interference
Dense fog could possibly be a problem for microwave links
NETWORKS
Bandwidth
Depends on the link between two computers
Measured in bps
Twisted-pair: 10-100 Mbps
Fiber optic: > 2400Mbps=2.4Gbps
NETWORKS OVER THE PHONE SYSTEM
Phone systems transfer data as continual electrical signals
that forms a wave
Varied frequency and amplitude
Analog signal
Computer phone
Digital to analog
Computer phone
Digital to analog
Modem
Capable of transmitting a certain number of bits per second
>14,400 up to 56K
PROTOCOLS
Is a rules that governs the transmission of data within a
network
How machines are addressed
How messages are addressed
Who can view or transmit a sent message
How will the message be packed/unpacked by sender/receiver
How to deal with transmission errors
Sender, receiver and intermediaries must agree on a
communication protocol before communicating
PROTOCOLS
Sender steps
Layer 1: (Application) A message is usually generated by some application on the sender
Layer 2: (Packaging) The message is packaged for transmission
Layer 3: (Network) routing the message to receipt
Layer 4: (Physical Link) does the actual sending
PROTOCOLS
Intermediary steps
Layer 3: (Network) consulted only here
Check message and forward
Layer 4: (Physical Link) consulted only here
Does actual forwarding
Receiver steps
Layer 4: (Physical Link) comes thru to next layer
Layer 3: (Network) Received here
Layer 2: (Packaging) checks for any transmission errors and
unpacks
Layer 1: (Application) presents to user/program