Title: MET TC670 B1 Computer Science Concepts in Telecommunication Systems
1MET TC670 B1Computer Science Concepts in
Telecommunication Systems
2Lecture 1, September 9, 2003
- Course Syllabus and Policies
- Introduction to Telecommunication Systems
- Why Computer Science Concepts?
- Introduction to Computer and Operating Systems
- Preliminary Test on Computer Science Concepts
3Instructor
- Shudong Jin Office (617)-353-8924 Fax (617)
353-6457 e-mail jins_at_cs.bu.edu - Make an appointment?
- Course home page
- http//cs-people.bu.edu/jins/tc670
4Course Description
- Learning basic computer science concepts in
telecommunication systems. Operating system
topics such as Processes and Threads,
Inter-process communication, Concurrency Control,
Multimedia Operating Systems and Communications
- Touching emerging computer science topics related
to telecommunication applications. Sensor Systems
and Networks, multimedia communication protocols
- Working on programming projects and
algorithm/protocol designs related to
telecommunication applications
5Course Format
- Lecture 3 hours / week
- Homework assignments
- Programming projects
- Mid-term and final exams
6Course Format - Lectures
- Lectures will be given weekly.
- Students are expected to attend all lectures.
Attendance will often be recorded. - Each lecture has a recession of 15 minutes. Dont
be late on the second leg! - Occasional tests during lectures, not graded.
7Course Format - Homework
- Homework assignments will be given during some
lectures. - 4-5 homework assignments.
- No collaboration! You should solve the problems
independently. - Acceptable formats HTML, Word Document,
PostScript, and PDF. Send an email to
jins_at_cs.bu.edu. Written answers are acceptable,
but not preferable.
8Course Format - Projects
- Two programming projects, one in each half of the
semester. Due dates midterm exam and final exam.
First project will be assigned very soon (in 2-3
weeks). - Collaboration (a team of 2 students) is allowed.
Independent work on programming projects is
encouraged and may result in extra credit. - Acceptable formats Electronic format (including
both commented source C/C/Java code as well as
documents describing the implementation details). - Grading criteria correctness, completeness,
neatness, and documentation.
9Course Format Exams
- Midterm exam will cover all topics discussed in
the first half. - Final exam will emphasize the topics covered in
the second half.
10Grading Policies
- Homework assignments 20 Project assignments
20 Midterm exam 25 Final exam 35 - Bonus on class attendance and active discussion
- Expected medium grades B to B, may vary!
- What I can do and can not do?
11What I Can Do and Can Not Do
- Be fair!
- Make homework and project assignments clear.
- If you attend class regularly
- If you fare much better in final exam than you do
in mid-term - Academic dishonesty
12Lecture 1, September 9, 2003
- Course Syllabus and Policies
- Introduction to Telecommunication Systems
- Why Computer Science Concepts?
- Introduction to Computer and Operating Systems
- Preliminary Test on Computer Science Concepts
13Knowing Telecommunication
- The basic components in telecommunications
- Data versus voice network
- What are telecommunication protocols?
- Different types of telecommunication networks
- Different network topologies
- Example telecommunication applications
-
14What Is Telecommunication?
- The purpose of telecommunications is to convey
information from one location to another. - The transmission of different forms of data (such
as text, audio, video, images, graphics) from one
set of electronic devices over media to another
set of geographically separated electronic
devices.
15General Telecommunication Systems
16Data versus Voice Networks
17Data versus Voice Networks
- Voice networks
- Property More convenient to convey information,
thats why voice communication has predominated
for over a century. - Example the telephone network, until the last
decade, was almost entirely analog. - Any data information had to be converted into a
signal which emulated the analog speech signals. - Data networks
- Precise communication. Digital information.
- Example the Internet.
- Recently we have a better proportion of data
communications links and speech is being
converted into digital forms as well as data
will eventually be conveyed more naturally in
these digital forms
18Characteristics of Channels
- Transmission rate
- Bandwidth
- Transmission mode
- Transmission direction
- Transmission signals
19Characteristics of Channels
Characteristics
Description
Transmission rate
Rate at which channel carries data from one
computer to another. Volume or capacity of data
that a channel can carry. Ways by which data are
transmitted. Two ways include asynchronous (one
byte at a time) and synchronous (blocks of
bytes). Three directions for transmitting data
include simplex, half duplex, and full
duplex. Information travels as analog or digital
signals.
Bandwidth
Transmission mode
Transmission direction
Transmission signals
20Telecommunication Protocols
- Rules and formats that ensure efficient and
error-free electronic communications between two
or more computers. - Some agreements between the participants of
communication process.
21Components of A Protocol
- A set of characters that mean the same thing to
both the sender and the receiver - A set of rules for timing and sequencing messages
- A set of methods for detecting and correcting
errors
22Types of Telecommunications
- Classified based on the geographical distance
- Private branch exchanges (PBX)
- Integrated services digital network (ISDN)
- Wide area networks (WAN)
- Metropolitan area networks (MAN)
- Value-added networks (VAN)
23Private Branch Exchange (PBX)
- An electronic switching device that connects the
companys telephone lines to those of the local
telephone company.
24Integrated Services Digital Network(ISDN)
- Integrated Services Digital Network (ISDN)
- A digital network that uses commercial telephone
systems to transmit voice and data.
ISDN
25Local Area Network (LAN)
- A network that links a number of independent
electronic devices located within a relatively
small area (usually within a radius of 1 to 10
miles). - Examples Departmental network, small campus
network.
26Metropolitan Area Networks (MAN)
- High-bandwidth WANs that link electronic devices
distributed over a metropolitan area.
27Wide Area Networks (WAN)
- Networks that transmit data and voice
communications to large geographical areas. - Example North-America.
28Network Topology
- Connectivity of various terminals and internal
(intermediate) devices. - Four basic topologies
Bus topology
Ring topology
Star topology
Mesh topology
29Network Topology Bus Topology
- A network configuration in which all computers on
the network are connected through a single
circuit, such as twisted-pair cable. Messages
are transmitted to all computers on the network,
although only the targeted device responds to the
message.
30Network Topology Ring Topology
- A network configuration in which computers are
arranged in the form of a ring using
twisted-wire, coaxial cable, or fiber optics.
Messages are transmitted in one direction to all
devices between the sending node and the
receiving node.
31Network Topology Star Topology
- A topology in which a central host computer
receives all messages and then forwards the
message to the appropriate computer on the
network.
32Network Topology Mesh Topology
- A topology which has no centralized authority but
needs fully-distributed implementation.
33Telecommunication Applications
- Electronic Data Interchange (EDI)
- Teleconferencing
- Videoconferencing
- Fax
- Voice Mail
-
34Lecture 1, September 9, 2003
- Course Syllabus and Policies
- Introduction to Telecommunication Systems
- Why Computer Science Concepts?
- Introduction to Computer and Operating Systems
- Preliminary Test on Computer Science Concepts
35Learning Systems
- Computer systems are everywhere in
telecommunication! - How can we manage the telecommunication resources
using a computer system? - Issues
- Managing telecommunication devices
- Managing topologies
- Managing switching
36Learning Algorithms
- Algorithms are important for correctness and
performance of telecommunication systems! - Example 1 Job scheduling
- Example 2 Efficient searching
37Learning Protocols
- Computer science concepts of the protocols.
- Example 1 Synchronization of participants
- Example 2 Avoidance of deadlocks
38Learning Programming
- Need often to write programs to drive the
telecommunication devices! - Efficient implementation of algorithms and
protocols. - Two programming projects.
39Example Broadcasting Design
- Naïve approach for video broadcasting
- Broadcasting a video once in 60 minutes. The
users simply subscribe the service. - Is it good?
- Simple, and easy to implement
- Users have to wait, not truly on-demand service
- But if we want truly on-demand service
40Periodic Broadcasting
A n algorithm where each channel repeatedly
broadcasts a portion and clients joins the
channels to receive data.
Video length
Cuts the video into
1 2 2 5 5 12
Time
5
Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Channel 6
41Lecture 1, September 9, 2003
- Course Syllabus and Policies
- Introduction to Telecommunication Systems
- Why Computer Science Concepts?
- Introduction to Computer and Operating Systems
- Preliminary Test on Computer Science Concepts
42Computer Systems
- Architecture the organization of a computer
system (often a computer engineering topic) - Operating systems how to manage computer
resources (classic computer science topic) - Database systems how to manage and process
data/knowledge (a computerinfo science topic)
43What is an Operating System?
- An operating system (OS) is
- a software layer to abstract away and manage
details of hardware resources - a set of utilities to simplify application
development
44Operating Systems The Big Picture
- The operating system (OS) is the interface
between user applications and the hardware. - An OS implements a sort of virtual machine that
is easier to program than the raw hardware.
User Applications
virtual machine interface
Operating System
physical machine interface
Architecture
45The OS and Hardware
- An OS mediates programs access to hardware
resources - Computation (CPU)
- Volatile storage (memory) and persistent storage
(disk, etc.) - Network communications (TCP/IP stacks, Ethernet
cards, etc.) - Input/output devices (keyboard, display, sound
card, etc.) - The OS abstracts hardware into logical resources
and well-defined interfaces to those resources - processes (CPU, memory)
- files (disk)
- programs (sequences of instructions)
- sockets (network)
46The OS and Hardware
interrupts
Processor
Cache
Memory Bus
I/O Bridge
I/O Bus
Main Memory
Disk Controller
Graphics Controller
Network Interface
Graphics
Disk
Disk
Network
47Why Bother with An OS?
- Application benefits
- programming simplicity
- see high-level abstractions (files) instead of
low-level hardware details (device registers) - abstractions are reusable across many programs
- portability (across machine configurations or
architectures) - device independence 3Com card or Intel card?
- User benefits
- safety
- program sees own virtual machine, thinks it
owns computer - OS protects programs from each other
- OS fairly multiplexes resources across programs
- efficiency (cost and speed)
- share one computer across many users
- concurrent execution of multiple programs
48Operating Systems The Classical View
The kernel sets up process execution contexts to
virtualize the machine.
processes in private virtual address spaces
data
data
...and upcalls (e.g., signals)
system call traps
Threads or processes enter the kernel for
services.
shared kernel code and data in shared address
space
CPU and devices force entry to the kernel to
handle exceptional events.
49The Major OS Issues
- Structure how is the OS organized?
- Sharing how are resources shared across users?
- Naming how are resources named (by users or
programs)? - Security how is the integrity of the OS and its
resources ensured? - protection how is one user/program protected
from another? - Performance how do we make it all go fast?
- Reliability what happens if something goes wrong
(either with hardware or with a program)? - Extensibility can we add new features?
- Communication how do programs exchange
information, including across a network?
50More OS Issues
- Concurrency how are parallel activities
(computation and I/O) created and controlled? - Scale what happens as demands or resources
increase? - Persistence how do you make data last longer
than program executions? - Distribution how do multiple computers interact
with each other? - Accounting how do we keep track of resource
usage, and perhaps charge for it?
51OS History
- In the very beginning
- OS was just a library of code that you linked
into your program programs were loaded in their
entirety into memory, and executed - interfaces were literally switches and blinking
lights - And then came batch systems
- OS was stored in a portion of primary memory
- OS loaded the next job into memory from the card
reader - job gets executed
- output is printed, including a dump of memory
(why?) - repeat
- card readers and line printers were very slow
- so CPU was idle much of the time (wastes )
52Multiprogramming
- To increase system utilization, multiprogramming
OSs were invented - keeps multiple runnable jobs loaded in memory at
once - overlaps I/O of a job with computing of another
- while one job waits for I/O completion, OS runs
instructions from another job - to benefit, need asynchronous I/O devices
- need some way to know when devices are done
- interrupts
- polling
- goal optimize system throughput
- perhaps at the cost of response time
53Timesharing
- To support interactive use, create a timesharing
OS - multiple terminals into one machine
- each user has illusion of entire machine to
him/herself - optimize response time, perhaps at the cost of
throughput - Time-slicing
- divide CPU equally among the users
- if job is truly interactive (e.g. editor), then
can jump between programs and users faster than
users can generate load - permits users to interactively view, edit, debug
running programs (why does this matter?) - MIT Multics system (mid-1960s) was the first
large timeshared system - nearly all OS concepts can be traced back to
Multics
54Distributed OS
- Distributed systems to facilitate use of
geographically distributed resources - workstations on a LAN
- servers across the Internet
- Supports communications between jobs
- interprocess communication
- message passing, shared memory
- networking stacks
- Sharing of distributed resources (hardware,
software) - load balancing, authentication and access
control, - Speedup isnt the issue
- access to diversity of resources is goal
55Embedded OS
- Ubiquitous computing
- cheap processors embedded everywhere
- how many are on your body now? in your car?
- cell phones, PDAs, network computers,
- Typically very constrained hardware resources
- slow processors
- very small amount of memory (e.g. 8 MB)
- no disk
- typically only one dedicated application
56TC 670 OS Concepts
- We will learn
- Process and thread scheduling
- Inter-process communication and concurrency
control - Memory management
- I/O systems
- File systems
- Multimedia OS
- .
57Process Management
- An OS executes many kinds of activities
- users programs
- batch jobs or scripts
- system programs
- print spoolers, name servers, file servers,
network daemons, - Each of these activities is encapsulated in a
process - a process includes the execution context
- PC, registers, VM, OS resources (e.g. open
files), etc - plus the program itself (code and data)
- the OSs process module manages these processes
- creation, destruction, scheduling,
58Processes
- Note that a program is totally passive
- just bytes on a disk that contain instructions to
be run - A process is an instance of a program being
executed - at any instance, there may be many processes
running copies of the same program (e.g. an
editor) each process is separate and (usually)
independent
process B
process A
code stack PC registers
code stack PC registers
page tables resources
page tables resources
59Process Operations
- The OS provides the following kinds operations on
processes (I.e. the process abstraction
interface) - create a process
- delete a process
- suspend a process
- resume a process
- clone a process
- inter-process communication
- inter-process synchronization
- create/delete a child process (subprocess)
60Lecture 1, September 9, 2003
- Course Syllabus and Policies
- Introduction to Telecommunication Systems
- Why Computer Science Concepts?
- Introduction to Computer and Operating Systems
- Preliminary Test on Computer Science Concepts