0% found this document useful (0 votes)
3 views

Part 1 Linux Chapter 1 Introduction

hust

Uploaded by

Phuc Nguyen
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Part 1 Linux Chapter 1 Introduction

hust

Uploaded by

Phuc Nguyen
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Software

• Collection of instructions and data that tell a computer how to work


• Contrast to physical hardware, from which the system is built and performs
the work
• Related data
• To automatically solve a specific problem
• The software performs the functions
• Sending instructions directly to hardware
• Providing data to serve other programs/software
• Hardware is required to use software

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

• Defines what a user can do with a software


• Proprietary software
• Freeware
• Shareware
• Proprietary software license
• Free open-source software
• Free software
• Open-source software

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

Free open-source software


• Provide maximum rights on software for the
majority of users
• Users can make change, upgrade, redistribution,
obtain the source code
• Free open-source software has license?
• COPYLEFT: Copyleft is a general method for making
a program (or other work) free (in the sense of
freedom, not “zero price”), and requiring all modified
and extended versions of the program to be free as well.

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

Free open-source software


• Freely distributed
• Always include source code
• Allow to modify software
• Copyright is not allowed to be changed
• There may be constraints on
• Source code integration
• Version name
• No distinction between different individuals/groups
• No restrictions on the purpose of use

4
Comparison
Proprietary software Free open-source software
Fee Free

Copyright Copyleft

Maintenance by software creator Maintenance by user

Closed box Open box

User contributions are not User contributions are allowed


allowed

What is an Operating System?

 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

 Invented by Ken Thompson at AT&T in 1969


 First version written in assembly language
 single user system, no network capability

 Thompson, Dennis Ritchie, Brian Kernighan


 rewrote Unix in C: processor/architecture independent

 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

Linux Operating system


• Compatible with POSIX, System V and BSD standards
• Support terminal emulation
• Support virtual consoles
• Can be installed with other OS (using LILO, GNUB)
• Read data on many storage formats: etx2fs, ms-dos, vfat, iso
9660, etc.
• Fully install network protocol standards: TCP/IP, SLIP, PPP,
NFS, ...
• Graphical Interface: X Window KDE & Gnome
• Support many application services: database, office
application, internet service, ...
• Support network integration with other OS like Windows

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

 Shell executes iteratively the following tasks:


 Display command prompt, wait for user commands.
 Receive and Analyse the user command
 Execute the user command

[billgates@soict home]$ <command of user>

Working
Login name Host name prompt
directory

[root@soict home]# <command of root>

15
Example

login: billgates
password: xxxxxxxx
[billgates@soict home]$ echo hello
hello
[billgates@soict home]$ exit

Linux command structure


command [-options] [arguments]
 command: command name
 options: some way to execute the command
 arguments : arguments of the command
 Each option is usually represented by a single character
after (“-”)
 Options could be combined together after a single “–”.
• Example -asli is equivalent to -a -s -l -i
 Options and arguments are separated by spaces.
 Commands are case sensitive

16
Some basic commands
passwd - change password
ls - list files
less - show content of file
logout - logout from system

date - display date and time


who - display who is on the system
clear - clear terminal screen
script - make record of a terminal session
uname -a - print current OS detail (version etc.)
man - find and display system manual pages

The man command


Syntax: man [options] [-S section] command-name

% 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

You might also like