ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
1
Bài giảng Hệ Điều Hành Linux
Contact : ThS. Bùi Trung Úy
Email :
Website :
Scheduler:
Theory : 2 Credits (36 hours)
Practise :
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
2
Nội dung môn học
Tổng quan về Unix/Linux
Cài đặt và điều quản thiết bị
Quản trị hệ thống và người dùng
Thao tác trên hệ thống tập tin
Xử lý văn bản và các bộ lọc
Lập trình Shell trên Linux
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
3
Tài liệu tham khảo
Bài giảng Linux – Gv.Bùi Trung Úy - DTU.
Bảo mật và tối ưu trong Redhat Linux – Trần Thạch
Tùng – NXB LĐXH.
Cẩm nang Linux – Nguyễn Tiến – Nxb GD.
Lập trình trên Linux – Nguyễn Phương Lan – Tập 1
Silberschatz Galvin- Operating System Concepts
Scott Mann, Ellen L. Mitchel- Linux System Security
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
4
Tổng quan về Linux
Bài 1
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
5
Linux là gì?
Linux là một HĐH dạng UNIX (Unix-like Operating
System) chạy trên máy PC với bộ điều khiển trung
tâm (CPU) Intel 80386 trở lên, hay các bộ vi xử lý
trung tâm tương thích AMD, Cyrix.
Linux ngày nay còn có thể chạy trên các máy
Macintosh hoặc SUN Sparc.
Một đặc điểm nỗi bật của Linux là một hệ điều hành
miễn phí và mở nguồn mở.
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
6
Lịch sử ra đời của Unix
Giữa năm 1960, AT&T Bell Laboratories và một số
trung tâm khác tham gia tạo ra một HĐH mới được đặt
tên là Multics (Multiplexed Information and Computing
Service)
Đến năm 1969, chương trình Multics bị bãi bỏ vì đólà
một dự án quá nhiều tham vọng.
Ken Thompson, Dennis Ritchie và một số đồng nghiệp
của Bell Labs đã không bỏ cuộc. Thay vì xây dựng một
HĐH làm nhiều việc một lúc, họ phát triển một HĐH
đơn giản - chỉ làm tốt một việc là chạy chương trình.
Peter Neumann đặt tên cho HĐH đơn giản này là Unix.
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
7
Lịch sử ra đời của Unix
Năm 1973, sử dụng ngôn ngữ C của Ritchie,
Thompson đã viết lại toàn bộ hệ điều hành Unix và
đây là một thay đổi quan trọng của Unix.
Nhờ đóUnix từ chỗ là hệ điều hành cho một máy
PDP-xx trở thành hệ điều hành có thể chạy trên
nhiều loại máy tính khác nhau.
Khoảng 1977 bản quyền của UNIX được giải
phóng và hệ điều hành UNIX trở thành một thương
phẩm
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
8
Lịch sử ra đời của Linux
Năm 1991, Linus Torvalds, sinh viên của đại học
tổng hợp Helsinki, Phần lan, bắt đầu xem xét Minix
với mục đích nghiên cứu cách tạo ra một HĐH Unix
chạy trên máy PC với bộ vi xử lý Intel 80386
Ngày 25/8/1991, Linus cho ra version 0.01 và thông
báo trên comp.os.minix của Internet về dự án của
mình.
Ngày 1/1992, Linus cho ra version 0.12 với shell và
C compiler. Linus đặt tên HĐH của mình là Linux.
Năm 1994, phiên bản chính thức 1.0 được phát
hành
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
9
Lịch sử ra đời của Linux
Linux được viết lại toàn bộ từ con số không, tức là
không sử dụng một dòng lệnh nào của Unix, để
tránh vấn đề bản quyền của Unix.
Tuy nhiên hoạt động của Linux hoàn toàn dựa trên
nguyên tắc của hệ điều hành Unix. Vì vậy nếu một
người nắm được Linux, thì sẽ nắm được UNIX.
Quá trình phát triển của Linux được tăng tốc bởi sự
hỗ trợ của chương trình GNU (GNU’s Not Unix)
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
10
Lịch sử ra đời của Linux
Linux có một linh vật chính thức –Linux penguin,
gọi là Tux.
Hình vẽ sau cho thấy linh vật của Linux
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
11
Vấn đề bản quyền GNU
Các chương trình tuân theo GNU Copyleft or GPL
(General Public License) có bản quyền như sau
:
Tác giả vẫn là sở hữu của chương trình của mình.
Ai cũng được quyền bán copy của chương trình với
giá bất kỳ mà không phải trả cho tác giả ban đầu.
Người sở hữu chương trình tạo điều kiện cho người
khác sao chép chương trình nguồn để phát triển tiếp
chương trình
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
12
Các đặc trưng của Linux (1)
Linux là miễn phí (free) và Open Source: Mã nguồn
mở, bao gồm cả kernel, drivers, các công cụ phát
triển,…
Linux rất ổn định: Ngay cả server Linux phục vụ
những mạng lớn (hàng trăm máy trạm) cũng hoạt
động rất ổn định.
Multi-Tasking, Multi-Threading: là khả năng mà
HĐH gán cho từng tiến trình hoặc tuyến quyền sử
dụng CPU trong một khoảng thời gian nhât định
Multi-User: là khả năng cho phép nhiều người dùng
đồng thời truy cập cùng một CPU.
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
13
Các đặc trưng của Linux (2)
Multi-platform: Chạy trên nhiều nền tảng phần
cứng khác nhau.
Multi-standard Compliant: Tương thích với hầu hết
các hệ POSIX, System V, và BSD (ở mức source).
Hỗ trợ nhiều hệ thống File: Minix-1, MS-DOS,
VFAT, FAT-32, ISO 9660 (CD-ROMs),…hai hệ
thống tập tin chính của Linux là ext2fs và ext3fs.
Multiple Networking Protocols: Các giao thức nền
tảng được hỗ trợ bởi Kernel như: TCP, IPv4, IPv6,
AX.25, X.25, IPX, Appletalk, Netrom, v.v…
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
14
Các thành phần chính của Linux
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
15
Các thành phần chính của Linux
Hệ lõi (kernel-nhân): xác lập nhiều thường trình
cấp thấp và tương tác trực tiếp với CPU, điều khiển
thiết bị phần cứng và điều khiển việc thực hiện
chương trình.
Cấu trúc hệ thống tập tin: là hệ thống lưu trữ các
thông tin trên thiết bị lưu trữ.
Hệ võ (shell): là cách người dùng tương tác gián
tiếp với phần cứng thông qua kernel. Hệ võ ngầm
định là bash. Các hệ võ khác như tcsh, ksh, zsh
Các tiện ích: có chức năng chính là thực hiện các
công việc dịch vụ của hệ điều hành.
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
16
Nhân Linux
Kernel
Shell
bash
ksh
csh
GUI
xterm
KDE
GNOME
console
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
17
Nhân Linux
Dự án đước khởi xướng vào năm 1991 bởi Linus
Tovard bằng một bài viết nổi tiếng trong nhóm tin
Usenet
comp.os.minix, trong đócó đoạn viết:
"I'm doing a (free) operating system (just a hobby, won't
be big and professional like
gnu) for 386(486) AT
clones "
[1]
Phần hạt nhân (lõi hay kernel) của Linux có thể hiểu
đơn giản là một tập hợp các chương trình thường trú
trong bộ nhớ.
Kernel là phần chính của hệ điều hành, phụ trách hầu
hết các chức năng chính của hệ điều hành như quản lý
bộ nhớ, thực thi nhiệm vụ và truy nhập phần cứng
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
18
Phiên bản nhân
Các phiên bản của nhân Linux được xác định bởi
hệ thống số dạng: X.YY.ZZ
Nếu YY là số chẵn => phiên bản ổn định.
Nếu YY là số lẻ => phiên bản thử nghiệm (không dùng để
phát triển các bản phân phối)
Ví dụ: Kernel 2.4.20
2 là Số chính
4 là số phụ, phiên bản ổn định
20 là cấp vá đắp (patch level), phiên bản ổn định
(nếu số lẻ là phiên bản đang thử nghiệm)
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
19
Bản phân phối Linux
Bản phân phối Linux là bộ các chương trình ứng
dụng bao gồm cả 4 phần chính của một hệ điều
hành (shell, kernel, file system, utility) và các
chương trình phục vụ người dùng,…
Tất cả các chương trình trong bản phân phối đều
theo bản quyền GPL.
Hiện nay có rất nhiều công ty cung cấp các bản
phân phối khác nhau (tham khảo ở
).
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
20
Cách đánh số phiên bản
Cần phân biệt số phiên bản của bản phân phối với
số phiên bản của nhân.
Nhân Linux hiện đang được điều hành và phát triển
bởi Linus Torvalds, nên phiên bản của nhân tăng
theo thứ tự, chứ không phân nhánh và nhân lên
như các bản phân phối.
Ví dụ:
Bản phân phối openSuSE Linux 10.1 (kernel 2.6.16.13)
Bản phân phối Fedora 5 (kernel 2.6.16.13)
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
21
Một sốứng dụng trên Linux (1)
Các ứng dụng cho văn phòng: OpenOffice, KOffice,
StartOffice,…
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
22
Một sốứng dụng trên Linux (2)
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
23
Một sốứng dụng trên Linux (1)
Các ứng dụng mạng và Internet:
WebServer, FTP Server, Mail Server: Apache, VsFTP,
SendMail,…
WebBrowser, Instant Messenger: Firefox, GIMP,…
Các công cụ phát triển:
C/C++
Java: Eclipse
Python
Perl, CGI
…
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
24
Redhat
Debian
SuSE
TurboLinux
Mandrake
Một số bản phân phối
Fedora Core
ThS.Bùi Trung Uý
Bài giảng Hệ điều hành Unix/Linux
25
Redhat và Fedora Core
Redhat và Fedora Core là hai bản Linux có lẽ là
thịnh hành nhất trên thế giới, phát hành bởi công ty
Redhat.
Từ 2003, Công ty Redhat phát triển Redhat
Enterprise Linux (RHEL) với mục đích thương mại,
nhằm vào các công ty, xí nghiệp.
Redhat cũng đầu tư mở ra dự án Fedora nhằm phát
triển phiên bản Fedora Core cho người dùng bình
thường.
Bản Linux của RedHat cuối cùng dừng ở phiên bản
9.0. Phiên bản của Fedora được bắt đầu từ 1. Hiện
nay đã có Fedora Core 6.