Part 1 Linux Chapter 1 Introduction
Part 1 Linux Chapter 1 Introduction
1
Activities on software
• Creating
• Installing
• Using
• Personal, corporate, commercial, educational, research
• Modify and upgrade software
• Reverse engineering
• Distributing
• Execute code/source code
• Original/upgraded/changed
• Managing
• Allow/Deny operations on software
Software License
2
Proprietary software
• Ensure the rights of software creators: Copyright
• Strict on software distribution and management
rights
• Restrict the right
• To change and imporve software
• To reverse analysis of code
• For example
• MS Excel EULA
• MathWork Matlab
3
Copyleft
• Reason
• Respect the software creators
• Unlicensed software can be used to turn into proprietary
software not free
• Definition
• One kind of license
• Requires software redistribution preserves the original
license
• Make sure the recipient from the distributor has the same
rights as the distributor
• Make sure the software and its modifications are free
4
Comparison
Proprietary software Free open-source software
Fee Free
Copyright Copyleft
Operating System
Software that
manages (allocates and de-allocates) system resources in an
efficient and secure manner
System resources include:
CPU
Memory: RAM
Storage: Hard disk
Peripheral devices: Printer, Keyboard, Monitor, Mouse ...
Network communication.
Provides interfaces for users to use system resources
Desktop Environment
Shell command line.
10
5
The roles of operating system
System
Resources
Hardware Software
System Application
Software Software
11
COMPONENTS
Interface
User
Application
(shells, compilers, utilities,…)
Programming libraries
(open, close, read, write, ...)
OS kernel
(managing file system, memory, peripheric)
Hardware
12
6
UNIX
Unix evolution:
Bell Labs, USL, Novell, SCO
BSD, FreeBSD, Mach, OS X
AIX (IBM), Ultrix, Irix, Solaris (Sun), …
13
Unix (Cont.)
• Multi-user, Multi-process operating system
• Reliable, flexible
• Widely used
• High modularity
• Support application development environment
• $$$$$
14
7
History of Linux
• 1950-1960: Software is freely distributed to use hardware
• Late 1960s: software value increases → software prices start
to be included in the hardware that installs it.
• 198x: The software industry begins to provide only the
executable code of the program, preventing users from
modifying the software.
• 1980: Copyright law extended to computer programs
• 1983: Richard Stallman, a programming enthusiast at MIT,
launches the GNU Project, with the goal of building a
completely free, Unix-like GNU operating system.
• 1984: The GNU project gives a list of software to be
developed for the GNU operating system → software that is
gradually built
15
History of Linux
• GNU project: objective to create an UNIX-like operating
system
• GNU project lists all the GNU OS components: kernel,
utilities, applications...
• In 1990, components (except kernel) were developed
independently and could run well
• Kernel were not received enough development investigation
• 1991: Linus Torvalds released a completely free and editable
Linux kernel
• 1992: The Linux kernel uses the GNU GPL license
GNU/Linux OS.
• 1998: Open-source Initiative (OSI) was born
8
GNU Project
• FSF-Richard Stallman
• GNU GPL
• Compilators
• System tools
• GNU Hurd (Stalled)
17
GNU/LINUX
• The combination of the LINUX kernel and the
GNU utilities has resulted in a complete, powerful,
and free GNU/LINUX operating system for a wide
variety of computers.
• Intel x86, Alpha, ARM, Power PC (Macintosh), PDA
• Attention
• The name LINUX is still commonly used for both
operating systems including the Linux kernel and its
associated utilities
18
9
Linux kernel
• The basic components to be able to exploit the computer's
hardware resources
• 1994: 1.0
• 1999: 2.2.0
• 2001: 2.4
• 2011: 2.6.39.4
• 2015: 3.19.8
• 2019: 4.20.17
• 2021: 5.12.4
• First number: main version
• Next number: minor version
• Odd numbers: trial version
• Even numbers: stable versions
19
Linux license
• LINUX is copyright protected under the GPL (General
Public License)
• Belongs to the author, freely distributed and free to use
• Can be used for profit, but not allowed to change the terms of
the copyright
• Changes to the source code are allowed but must then be
distributed under the same GPL
• GPL <> GNU
• a GNU program owned by everyone
• Open-source software <> Shareware
• The source code must be open to everyone
• Note: an open-source software does not have to be under the
GPL
20
10
Linux components
• OS kernel
• Drivers
• System software
• Application software
• X Windows
• Application software with
graphical interface
21
Linux GUI
• X Windows: the basic framework for building GUI
environments
• Draw, move windows, interact with display devices,
mouse, keyboard
• Desktop environment
• Windows manager: create, manage windows
• File manager: manage files on a graphical interface
• Desktop widgets
22
11
Features of Linux
• Open source
• Supports multiple hardware
• Different distributions
• Inheriting Unix Features
• Portability
• Multi-user, multitasking
• Single file system
• Shell
• Network Features
23
Linux distribution
Developers
Linux = Kernel (OS Basic Part)
User interface
Kernel
Software Packages Distributor
SW management tools
Installation tools
Distribution
24
12
Linux distribution (cont.)
• A distribution is the complete set of OS programs that
include
• System settings and configuration tools
• User applications
• Version of the distribution <> version of the kernel
• Distribution
• Redhat (Fedora Core)
• Mandrake
• Debian
• Ubuntu
• CentOS
25
26
13
Linux vs. Windows
Why LINUX?
Reliable enough to make sure the OS can do the heavy
tasks
Better than Windows in terms of task management and
network management
Free but very complete
An excellent choice for teaching and research
27
Uses of Linux
Linux provides:
– User Support Tools
•Text processing (vi, sed, awk)
•Productivity applications
– Programmer Support Tools
•Programming languages & compilers (C, C++, Java)
•Shell scripts
•Personal software process: version control
–Source Code Control System (SCCS)
–Revision Control System (RCS)
– Linux as server
•Web server, mail server, application server
28
14
Where to LINUX
Install your own Linux system
Separate machine
Dual boot: co-existence with other OS
Linux on a CD (slow)
Virtual Machine (slow and hot)
Other
Cygwin: Unix utilities on Windows
Windows Services For Unix (for some versions of Windows)
Lab environment
29
29
Command Prompt
Working
Login name Host name prompt
directory
15
Example
login: billgates
password: xxxxxxxx
[billgates@soict home]$ echo hello
hello
[billgates@soict home]$ exit
16
Some basic commands
passwd - change password
ls - list files
less - show content of file
logout - logout from system
% man date
% man -k date
% man crontab
% man -S 5 crontab
Caveats:
Some commands are aliases
Some commands are part of shell
17
Hands-on Exercises
Start and stop the system
Using shell
Basic command
Getting help by using “man”
Computer Literacy
Thank you!
36
18