Monday, January 7, 2008

Who created Linux?

In 1991 Linus Torvalds was studying UNIX at a university, where he was using a special educational experimental purpose operating system called Minix (a small version of UNIX to be used in the academic environment). However, Minix had its limitations and Linus felt he could create something better. Therefore, he developed his own version of Minix, known as Linux. Linux was Open Source right from the start.

Linux is kernel developed by Linus. The kernel was bundled with system utilities and libraries from the GNU project to create a usable operating system. Sometime people refer Linux as GNU/Linux because it has system utilities and libraries from the GNU project. Linus Torvalds is credited for creating the Linux Kernel, not the entire Linux operating system [1].

Linux distribution = Linux kernel + GNU system utilities and libraries + Installation scripts + Management utilities etc.


Please note that Linux is now packaged for different uses in Linux distributions, which contain the sometimes modified kernel along with a variety of other software packages tailored to different requirements such as:

1. Server
2. Desktop
3. Workstation
4. Routers
5. Various embedded devices
6. Mobile phones etc
More information on Linus Torvalds, can be found on Linux.org's short biography page or visit his home page.

What is Linux?

Linux is a free open-source operating system based on Unix. Linus Torvalds originally created Linux with the assistance of developers from around the world.

* Free
* Unix Like
* Open Source
* Network operating system

Also we can say Linux is a kernel.
Kernel: A kernel provides access to the computer hardware and control access to resources. The kernel decides who will use a resource, for how long and when.

Linux distribution: Linux kernel itself is useless unless you get all the applications such as text editors, email clients, browsers, office applications, etc. Therefore, someone came up with idea of a Linux distribution

Linux distribution = Linux kernel + GNU system utilities and libraries + Installation scripts + Management utilities etc.


A typical Linux distribution includes:

  • Linux kernel

  • GNU application utilities such as text editors, browsers

  • GUI (X windows)

  • Office application software

  • Software development tools and compilers

  • Thousands of ready to use application software packages

  • Linux Installation programs/scripts

  • Linux post installation management tools daily work such as adding users, installing applications, etc


Wednesday, September 5, 2007

Python Networking

Many python modules which give access to application layer networking services
  • ftp
  • http
  • telnet
Sometimes you may have to implement your own application layer protocol. In this type of case you have to use sockets(a Transport Layer Service)


import sys
from socket import *
serverHost = ’localhost’
serverPort = 2000
# create a TCP socket
s = socket(AF_INET, SOCK_STREAM)
s.connect((serverHost, serverPort))
s.send(’Hello world’)
data = s.recv(1024)
print data







from socket import *
myHost = ’’
myPort = 2000
# create a TCP socket
s = socket(AF_INET, SOCK_STREAM)
# bind it to the server port number
s.bind((myHost, myPort))
# allow 5 pending connections
s.listen(5)
while 1:
# wait for next client to connect
connection, address = s.accept()
while 1:
data = connection.recv(1024)
if data:
connection.send(’echo -> ’ + data)
else:
break

connection.close()