LIS508 lecture 9: GNU & introduction to networks Thomas Krichel 2002-11-19.

Post on 27-Dec-2015

213 views 0 download

Transcript of LIS508 lecture 9: GNU & introduction to networks Thomas Krichel 2002-11-19.

LIS508 lecture 9:GNU & introduction to networks

Thomas Krichel

2002-11-19

Structure

• open source, and GNU

• General things about networks– Some concepts– History of Internet

• LANs

Software anatomy

• Software can be distributed in two ways– Binary code– Source code

• Sometimes both are available

Binary code

• Looks like this• ^?

ELF^A^A^A^@^@^@^@^@^@^@^@^@^B^@^C^@^A^@^@^@p<9A>^4^@^@^@X=^G^@^@^@^@^@4^@@^F^@(^@^_^@^\^@^F^@^@^@4^@^@^@4<80>^4<80>^À^@^@^@À^@^@^@^E^@^@^@^D^@^@^@^C^@^@^@ô^@^@^@ô<80>^ô<80>^^S^@^@^@^S^@^@^@^D^@^@^@^A^@^@^@^A^@^@^@^@^@^@^@^@<80>^^@<80>^òÞ^B^@òÞ^B^@^E^@^@^@^@^P^@^@^A^@^@^@øÞ^B^@øn^øn^¨^K^@^@ìÈ^@^@^F^@^@^@^@^P^@^@^B^@^@^@$è^B^@$x^$x^Ð^@^@^@Ð^@^@^@^F^@^@^@^D

Binary code

• It will run on a compute with one operating system, may not run on a computer with another.

• It can not be modified.

• It is difficult to find out what it does.

Source code

/* For now, don't try to include termcap.h. On some systems, configure finds a non-standard termcap.h that the main build won't find. */

#if defined HAVE_TERMCAP_H && 0#include <termcap.h>#elseextern void tputs P_ ((const char *, int, int (*)(int)));extern int tgetent P_ ((char *, const char *));extern int tgetflag P_ ((char *id));extern int tgetnum P_ ((char *id));#endif

Source code

• This is human (geek) readable code.

• May be understood by humans.

• Can be changed.

• Needs a compiler software to translate it to translate it to binary code, for every type of machine where it needs to run.

One upon a time

• Early 80s, MIT lab get a printer as a shared resource, but with faulty driver software that leads the printer to be jammed.

• Richard Stallman tries to get the source code to change the driver software, but can not get it.

• Decides to work for software freedom. Founds Free Software Foundation FSF.

• Resigns from MIT AI lab to work on a free replacement of UNIX.

• Wrote important parts of UNIX replacement.• Became particularly famous for his text editor

Emacs

Stallman’s theory of 4 freedoms• Free software is a matter of the users' freedom to run,

copy, distribute, study, change and improve the software.

• It implies– The freedom to run the program, for any purpose (freedom 0).– The freedom to study how the program works, and adapt it to

your needs (freedom 1).– The freedom to redistribute copies so you can help your

neighbor (freedom 2).– The freedom to improve the program, and release your

improvements to the public, so that the whole community benefits. (freedom 3).

• Access to the source code is a precondition for freedom 1 and 3. For that reason, some people refer to free software as open source software.

GNU public license

• GNU stands for “GNU is not UNIX”• Its license is the most famous among a group of

licenses for free software.• License to implement the four freedoms.• Key idea: The licensee is not allowed to impose

restrictions on the code that (s)he has developed from the code that she received.

• Such software is know as “copylefted” software.

St IGNUcius & the church of Emacs• Emacs was originally a text editor

by Richard Stallman, but it became a way of life and a religion. To join the Church of Emacs, you need only say the Confession of the Faith three times: There is no system but GNU, and Linux is

one of its kernels.

• Sainthood in the Church of Emacs requires living a life of purity. Being holy in our church means installing a wholly free operating system--GNU/Linux is a good choice--and not putting any non-free software on your computer.

Business case

• Eric Raymond has been pressing the business case for open source software.

• “Open office” is a software suite that is available in open source to replace the MS Office suite of software.

• Linux could straight away move into business environment. Manufacturers and consultants need to get their act together.

networks

Computer network

• Definition:– A computer network is a collection of autonomous

computers– The distributed nature of the system is apparent to the

user

• Motivation– Resource sharing– Increase reliability– Improve scalability– Money savings through use of PCs

Computer networks for communication

• Access to remote information– Data soucres– Software– E-commerce– Video on demand

• Person to person communication– Email– Video conferencing– Interactive television

Types of networks

• By technology– Broadcasting network– Point-to-point network

• Circuit switched• Packet switched

• By size– LAN

• Bounded size, bus or ring• High speed and reliability

– WAN• Interconnection of a large number of hosts• Has transmission lines and routers• Has an irregular topology, often with subnets

– Internet• a collection of interoperable networks

Network modeling

• Usually networks are modeled as layers

• Purpose of layer is to carry out services for the higher layer in a way that is transparent to the higher layer.– Layers communicate with their peers

according to known protocols– Between layers in the same machine there is

an interface.

Service types

• Connection oriented / connectionless– phone conversation– datagram

• Reliable / non-reliable– Online video– File transfer

http://openlib.org/home/krichel

Thank you for your attention!