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

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

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

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

LIS508 lecture 9:GNU & introduction to networks

Thomas Krichel

2002-11-19

Page 2: 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

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

Software anatomy

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

• Sometimes both are available

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

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

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

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.

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

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

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

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.

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

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

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

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.

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

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.

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

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.

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

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.

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

networks

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

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

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

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

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

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

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

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.

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

Service types

• Connection oriented / connectionless– phone conversation– datagram

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

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

http://openlib.org/home/krichel

Thank you for your attention!