Vous êtes sur la page 1sur 8

UNIX/Linux OS

Architecture
Application programs that make computers useful :
Web-browsers,
Word-processors,
Spreadsheets,
applications
Utilities,
Daemons, ...etc

The OS itself that provides


functionality such as :
Process Management
Memory Management
Scheduling
Hardware management
...etc.

shell
Command Interpreter
to run other programs
to accomplish user
tasks and/or system
administration tasks.

kernel
system calls
library routines

Programming interface
to communicate with
the kernel to request
services.

Set of modules that provide


common functions that are
built on system calls.
Ref. : Advanced Programming in the UNIX Environment, 2/e
bcatkan

1/8

UNIX/Linux OS

Notes on Architecture
Applications can be written
to make system calls directly, or
to make use of shell scripts, or
to make use of library routines.

Library routines are supplied


with programming languages, or
with application packages, or
system utilities.

Shell is a Command Interpreter that provides a CLI, Command Line Interface. There are
various shells available for different tastes :
sh, Bourne Shell, originally written by Stephen Bourne, re-implementations exist and
used as the default shell on Unix systems.
bash, Bourne Again Shell, is a descendant from Bourne shell. Bash is the default shell
used on Linux systems.
ksh, Korn Shell, originally written by David Korn, csh, C Shell, written by Bill Joy, tcsh,
TENEX C Shell, written by Ken Greer, are other shells that you can install and use.
A Shell Script is an executable text file. It contains an ordered sequence of commands.
You can just as well use these commands one-by-one interactively.
System start-up, shutdown, and administration tasks are accomplished using shell scripts.

bcatkan

2/8

UNIX/Linux OS

Notes on Architecture

The term Operating System has dual meaning :

The kernel that is found at the very core, and

The bundle of software that wraps the kernel to make the computer usable
depending on your perspective. For a kernel developer, the OS is the kernel, for
a user, the OS is all the software that makes the computer usable.

For our purposes, the kernel is Linux, all other software that comes with it, the
bundle, is a Linux Distro (distribution).

Visit http://www.distrowatch.com to see the variety of distros, for which purposes


they've been created and how lively the environment is. That's only possible thanks to
Free Software licensing.

bcatkan

3/8

UNIX/Linux OS

Versioning
Linux kernel and the distro follow different versions :

The current Fedora distro has version 20, as of Feb,2014.

It is based on Linux kernel version 3.11.10.

It includes application packages each having a different version number such as

bcatkan

bash 4.2 - Command Interpreter, http://www.gnu.org/software/bash

firefox 25.0 Web Browser, http://www.mozilla.org/en-US/firefox

postgresql 9.3.1 Database Server, http://www.postgresql.org

4/8

UNIX/Linux OS

Free Software
Free Software licensing provides you with four kinds of freedom :

Freedom 0 : The freedom to run the program for any purpose.

Freedom 1 : The freedom to study and modify, if needed.

Freedom 2 : The freedom to redistribute copies.

Freedom 3 : The freedom to distribute copies of your modified versions to


others.

Note that being open source is not an explicitly granted right, it's a
prerequisite condition to enjoy Freedom 1 and Freedom 3.
Note that Free Software is different from Open Source Software, although
the two terms are used interchangeably. You might see the term
F/LOSS ( Free/Libre Open Source Software )
to mean both.

bcatkan

5/8

UNIX/Linux OS

Free Software
Avoid the confusion

It's not about money.

It's about freedom !

Free : As in Free Speech, not as in Free Beer !


Read
1. http://www.gnu.org/philosophy/free-sw.html
2. http://www.gnu.org/philosophy/words-to-avoid.html
3. http://www.debian.org/intro/about
4. http://www.debian.org/social_contract

bcatkan

6/8

UNIX/Linux OS

Free SW Licenses

All four kinds of freedom must be granted.

Availability of source code is a precondition.

Long list of licenses that comply with definition of Free Software.

GNU/GPL, copyleft !
BSD, modified BSD, FreeBSD, non-copyleft.
MIT, Apache v2, MPL, etc.

Similar licensing considerations for fonts, and documentation.

Read
1. http://www.gnu.org/licenses/license-list.html
2. http://www.gnu.org/copyleft/copyleft.html
3. http://www.gnu.org/licenses/gpl-faq/#WhatIsCompatible
4. http://www.gnu.org/licenses/gpl-faq/#WhatDoesCompatMean
5. http://www.gnu.org/philosophy/categories.html

bcatkan

7/8

UNIX/Linux OS

Where does UNIX/Linux fit best ?


Advantages

Cost-effectiveness
WAN
Savings on HW/SW cost
Modest HW requirements
HW re-use
Low maintenance overhead
Diskless-Client Support
Thin-Client Support
Router
Scalability
Firewall
Reliability
Gateway
Availability
Security
Performance
DHCP
Name resolution
NTP
SNMP
LDAP
Network storage
Database
Printing
MultiMedia Streaming
Clustering
HPC
(High Performance Computing)

bcatkan

(Everywhere)

smtp service
http service
Name resolution

Desktop applications
Wordprocessor
Spreadsheet
Presentation
Web-browser
E-mail/Chat client
Audio/Video Editing

8/8