Tải bản đầy đủ (.pdf) (117 trang)

Linux Nghiên cứu và quản trị

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.39 MB, 117 trang )

NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 1
Mục lục
PHẦN 1:TÌM HIỂU VỀ HỆ ĐIỀU HÀNH UNIX 4
A.VÀI DÒNG LỊCH SỬ VỀ UNIX
1. Hệ điều hành multi–user và multi–tasking
a. Tính chất đa người sử dụng (multi–user)
b. Tính chất đa nhiệm (multi–tasking)
2.Sơ lược về quá trình phát triển của UNIX 6
3.Giới thiệu sơ lược về các dòng sản phẩm của UNIX 8
4. Các đặc điểm cơ bản 9
5. Các thành phần chính của hệ điều hành UNIX 10
B. Cấu hình và phiên bản 14
1 Cấu hình để cài hệ điều hành Linux
2. Các phiên bản của Linux 15
3.Cấu trúc thư mục 16
PHẦN 2: CÁC ĐẶC ĐIỂM CỦA LINUX 17
I-Lời nói đầu:
II-Tại sao sử dụng LINUX ? 18
III-Vài dòng về lịch sử LINUX 19
IV-Lịch sử phát triển của Linux
V-Những ưu điểm của LINUX 20
VI-Khuyết điểm của LINUX 21
VII-Kiến trúc của hệ điều hành LINUX
VIII-Các đặc tính cơ bản của LINUX 22
PHẦN 3:MÔ HÌNH MẠNG CLIENT-SERVER TRONG LINUX 24
I. Lập kế hoạch và đi dây
II. Cài đặt: 25
III. Cài đặt DNS và DHCP cho máy Linux Server 80
1/Cài đặt DNS


1.Giới Thiệu DNS
2.Hoạt Động Name Server Trong Linux 81
3. Cấu hình DNS
Khai báo ZONE thuận, ZONE nghịch 82
Mô t
ả file CSDL cho ZONE thuận (thuan.zone)
và ZONE nghịch (nghich.local) 85
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 2
Mô tả thông tin trên ZONE thuận
Mô tả thông tin trên ZONE nghịch 87
Khởi tạo dịch vụ và kiểm tra hoạt động
Cấu hình DNS Client 90
2/ Cấu Hình DHCP: 91
Một số đặc điểm cần lưu ý trên DHCP Server 92
Ưu điểm của việc sử dụng DHCP 93
Cài đặt
Khởi động dịch vụ DHCP
Theo dõi và sử dụng DHCP 95
Kiểm tra hoạt động của DHCP
IV. Cho gia nhập vào máy Linux Server:
V. Quản trị người dùng trong Linux:
I-Superuser:
II-Thộng tin của user: 96
1. Tập tin /etc/passwd
2. Username và UserID 97
3. Mật khẩu người dùng 98
4. Group ID
5. Home directory

III. Quản lý người dùng và nhóm :
1.Tạo tài khoản người dùng:
2.Hủy tài khoản: 100
3. Tạo group: 101
4. Xóa group: 103
5. Quản trị user và group:
5.1. Quản trị user:
a. Xem thuộc tính user
b. Thông tin tài khoản: 104
c. Password info (thông tin password) 106
d. Groups (Gia nhập group) 107
5.2. Quản trị Group: 108
a. Group Data 109
b. Group users:

6. Xem thông tin user và group: 110
a. Xem thông tin user:
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 3
b. Xem thông tin group:
VI. Share trên mạng dùng NFS (Network File System)
I- Tổng quan về quá trình hoạt động của NFS:
1.1 Một số luật chung khi cấu hình dịch vụ NFS:
1.2 Một số khái niệm chính về NFS:
II- Cài đặt NFS: 111
III- Cấu hình NFS:
1. Cấu hình NFS Server :
2. Cấu hình NFS Client 112
3. Mount một tài nguyên từ NFS Server sang NFS Client:

4. Kích hoạt file /etc/exports
5. Troubleshooting NFS Server
VII. Share giữa 2 máy con trong mạng 113

PHẦN 4 : CÁC TRÌNH TIỆN ÍCH CỦA LINUX 114
I. Trình soạn thảo vi :
1. Một số hàm lệnh của vi:
2. Chuyển chế độ lệnh sang chế độ soạn thảo :
3. Chuyển chế độ soạn thảo sang chế độ lệnh :
3.1 Nhóm lệnh di chuyển con trỏ
3.2. Nhóm lệnh xóa : 115
3.3 Nhóm lệnh thay thế
3.4 Nhóm lệnh tìm kiếm
3.5 Nhóm lệnh tìm kiếm và thay thế
3.6 Copy and paste
3.7 Undo 116
3.8 Thao tác trên tập tin
II. Trình tiện ích mail
III. Tiện ích tạo đĩa mềm boot
IV. Trình tiện ích fdisk 117
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 4
ĐỀ TÀI NGHIÊN CỨU HỆ ĐIỀU HÀNH
LINUX

PHẦN 1:TÌM HIỂU VỀ HỆ ĐIỀU HÀNH UNIX

A.VÀI DÒNG LỊCH SỬ VỀ UNIX


1. Hệ điều hành multi–user và multi–tasking
Hệ điều hành Unix là một trong những hệ điều hành cho phép nhiều người sử dụng
chung hệ thống.
a. Tính chất đa người sử dụng (multi–user)
Unix là hệ điều hành cho phép nhiều người sử dụng hệ thống máy tính chung theo
nghĩa:
Có thể có nhiều người khác nhau ngồi làm việc trên cùng hệ thống máy tính tại nhiều thời
điểm khác nhau nhưng các vùng dữ liệu và các thông tin riêng biệt của từng người sử dụng
vẫn tách biệt và được bảo vệ không xâm phạm lẫn nhau.
Có thể có nhiều người sử dụng đồng thời hệ thống máy tính, điều này đòi hỏi hệ thống có
nhiều mối kết nối đồng thời như serial terminal, network–workstation, …



b. Tính chất đa nhiệm (multi–tasking)
 Unix là hệ điều hành cho phép nhiều tác vụ thi hành đồng thời. Từ đồng thời không được
chính xác hoàn toàn ở đây, vì theo nguyên tắc ở mỗi thời điểm chỉ có duy nhất một tác vụ xử
lý xảy ra tại bộ xử lý trung ương. Để trình bày chính xác hơn, ta có thể nói Unix là hệ điều
hành cho phép nhiều tác vụ có thể chia sẻ thời gian (time–sharing system) sử dụng tài nguyên
(đặc biệt là bộ xử lý trung ương CPU), vì thời gian chia sẻ rất ngắn và được phân chia gần
như đều đặn nên việc xử lý nhiều tác vụ có vẻ như xảy ra đồng thời.
 Unix có một thành phần chính yếu để hỗ trợ cơ chế multi–user và multi–tasking là chương
trình xếp lịch xử lý (scheduler). Unix scheduler là chương trình lập lịch chia sẻ thời gian sử
dụng tài nguyên máy tính cho các tiến trình theo từng lát cắt thời gian (time–slice); đây cũng
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 5
là ý niệm chính của hệ thống chia sẻ thời gian (time–sharing system).
 Khi bộ nhớ bị đầy thì vấn đề được đặt ra là đưa một tác vụ mới vào như thế nào và do đó
vấn đề chuyển đổi bộ nhớ (swapping) được đưa ra để giải quyết vấn đề này.

 Trình lập lịch Unix (scheduler) dùng một vùng đĩa được gọi là vùng chuyển đổi (swap
space), tùy hệ thống mà có chế độ hỗ trợ cả một phân vùng chuyển đổi (swap partition) hay
tập tin chuyển đổi (swap file) để chép các tác vụ cũ từ bộ nhớ ra vùng chuyển đổi và đưa tác
vụ mới vào bộ nhớ. Vùng chuyển đổi cũng thường được gọi là bộ nhớ ảo (virtual memory).
Thí du: cần nạp 4 chương trình a, b, c và d nhưng bộ nhớ chỉ đủ chỗ cho 3 tiến trình.
Trước hết hệ thống chép a, b, c vào bộ nhớ và cho a được sử dụng hết lát cắt thời gian của nó.

Để nạp tiếp được chương trình d vào bộ nhớ, khi a đã sử dụng hết thời gian được chia
sẻ tiến trình a được chép ra vùng chuyển đổi (swap space) và tiến trình d được chép vào thế
chỗ a trong bộ nhớ chính; trong lúc này thì tiến trình b được quyền sử dụng tài nguyên trong
lát cắt thời gian dành cho nó .

Sau đó khi b đã hết thời gian sử dụng được chia sẻ thì b được chép ra vùng chuyển đổi
(swap space) và a được đưa vào chỗ của b.



Kế đó đến phần hoán chuyển của b và c, ….
Chúng ta nh
ận thấy nếu dung lượng bộ nhớ ít, thì phải hao tốn rất nhiều thời gian để hệ thống
hoán đổi vị trí qua lại giữa bộ nhớ và vùng chuyển đổi (swap space), do ảnh hưởng đó tốc độ
và hiệu suất xử lý của hệ thống sẽ chậm đi rất nhiều.
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 6

2.Sơ lược về quá trình phát triển của UNIX
Năm 1965,viện công nghệ Massachusetts (MIT: Massachusetts Institute of Technology)
và phòng thí nghiệm của hãng AT&T thực hiện một dự án xây dựng một hệ điều hành có tên
gọi là Multics (MUL Tiplexed Information and Computing Service) với mục tiêu tạo lập

được một hệ điều hành phủ trên vùng lãnh thổ rộng (hoạt động trên tập các máy tính được kết
nối), đa người dùng , có năng lực cao về tính toán và lưu trữ. Dự án nói trên thành công ở
mức độ hết sức khiêm tốn và người ta đã biết đến một số khiếm khuyết khó khắc phục của
Multics.
Đế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
và không khả thi .Thậm chí có nhiều yêu cầu đối với Multics thời đó đến nay vẫn chưa có
được trên các Unix mới nhất. Nhưng Ken Thompson, Dennis Ritchie và một số đồng nghiệp
của Bell Lab đã không bỏ cuộc.Thay vì xây dựng một hệ điều hành làm nhiều việc một lúc
như Multics, họ quyết định xây dựng một hệ điều hành đơn giản chỉ làm tốt một công việc là
chạy chương trình (run program). Hệ điều hành sẽ có rất nhiều các công cụ (Tool) nhỏ,đơn
giản ,gọn nhẹ(compact) và chỉ làm tốt một công việc. Bằng cách kết hợp nhiều công cụ lại
với nhau, họ sẽ có một chương trình thực hiện một công việc phức tạp. Đó cũng là cách thức
người lập trình viết ra chương trình.
 Hệ điều hành Unix được khởi xướng từ Ken Thompson và Dennis Ritchie (một trong
những người khai sinh ra ngôn ngữ cấp cao C) tại Bell Laboratories (hiện nay là AT&T Bell
Laboratories) vào cuối thập niên 60.
 Ban đầu Ken Thompson và Dennis Ritchie thiết kế hệ điều hành cho hệ máy tính đặc biệt
DEC PDP–7 và sau đó hệ điều hành này được hiệu chỉnh dần để thích hợp với cấu trúc chung
của máy tính và cho đến nay có thể nói Unix có thể được sử dụng trên hầu hết các loại máy
tính đang có mặt trên thị trường, và một điều rất đặc biệt là hầu hết các thành phần trong hệ
điều hành Unix đều được viết bằng ngôn ngữ cấp cao C.
 Vào năm 1970, Unix được tiếp tục phát triển trên hệ thống máy tính DEC PDP–11/20.
 Vào tháng 11 năm 1971, AT&T đăng ký chính thức tên gọi hệ thống Unix phiên bản thứ
nhất First Edition.
 Năm 1973, Dennis Ritchie cùng Ken Thompson viết lại toàn bộ phần nhân của hệ điều
hành Unix trong ngôn ngữ C; AT&T tặng toàn bộ chương trình nguồn đến đại học Columbia
và nhiều trường đại học khác; từ đó Unix lan tràn khắp nơi trên thế giới.
 Năm 1975, AT&T đã cho ra phiên bản thứ sáu Sixth Edition.
 Năm 1977, Interactive Systems Corporation bắt đầu phát hành sản phẩm Unix có hỗ trợ
cho khách hàng trên máy tính DEC (DEC Unix) và Đại học California tại Berkeley phân phối

sản phẩm Unix đầu tiên của họ mang tên BSD–UNIX (1st Berkeley Software Distribution).
 Theo yêu cầu của khách hàng và để dễ theo dõi sản phẩm từ phiên bản thứ 7 (Seventh
Edition), AT&T gọi tên sản phẩm theo cách mới sử dụng với ký hiệu SystemIII, Release1.0
(System theo kèm số La mã và Release với số thường) và cho đến năm 1983 thì AT&T đã có
phiên bản System V, Release 1. Từ chuẩn của System V, hệ thống Unix đạt được nhiều tiến
bộ quan trọng.
 Từ đầu thập niên 80, Bill Joy cộng tác với Sun Microsystems tựa trên BSD Unix 4.2 phát
triển hệ thống Unix trên nền máy SUN và được gọi tên là SUNOS, và có rất nhiều nhà phát
tri
ển hệ thống Unix trên nhiều nền máy khác nhau và tên gọi cũng rất khác nhau do UNIX đã
là tên gọi đăng ký chính thức của AT&T.

NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 7

Thí dụ

 Do sự phát triển hệ thống Unix quá phong phú và đa dạng nên dẫn đến tình trạng không
tương thích phần mềm xảy ra và có một số điểm dị biệt trên các hệ thống Unix này tạo khó
khăn cho người sử dụng lẫn các nhà phát triển phần mềm khi phải di chuyển từ hệ thống này
sang hệ thống khác, nhất là giai đoạn từ trước System V, Release 3.x.
 Để chấn chỉnh tốt hơn sự phát triển hệ thống Unix, các nhà phân phối sản phẩm Unix
chính thức như AT&T, Microsoft, SUN, … thỏa thuận về một chuẩn mới chung bao trùm lên
chuẩn cũ System V, Release 3.2 để tạo ra một chuẩn mới là System V, Release 4; chuẩn mới
này có nhiều tính năng rất mạnh về kết nối khai thác thế mạnh của hệ thống mạng, như
TCP/IP từ DARPA (Defense Advanced Projects Research Agency), RPC và NFS từ SUN, ….
 Unix đã chứng tỏ là một hệ điều hành mạnh, thông dụng và cần thiết cho khắp nơi trên thế
giới. Tất cả những nhà nghiên cứu và phát triển phần mềm trên thế giới đều nhận thấy Unix
đúng là một hệ điều hành cần thiết thật sự cho người làm việc, nhưng giá cả sản phẩm Unix

từ các nhà phân phối thương mại quá cao so với mức chi có thể của các nhà nghiên cứu
nghèo và đặc biệt là ở các nước chậm phát triển hay sinh viên. Vào năm 1994, một hệ điều
hành Unix System V chạy được trên máy 80386 (SCO Unix) cho hệ thống hỗ trợ 16 ngườisử
dụng có giá khoảng 2.500USD và hiện nay đã giảm khá nhiều thì cũng khoảng 1000USD. Vì
lý do này, các nhà nghiên cứu yêu thích Unix quyết định tham gia vào việc phát triển một hệ
điều hành Unix phi vụ lợi, phi thương mại để cung cấp cho người sử dụng và Linux là một
trong những sản phẩm như thế đã ra đời và đã phát triển rực rỡ từ 1991 cho đến nay.
 Linux được khởi xướng do Linus Torvalds từ năm 1991, khi đó Linus còn đang là một sinh
viên đại học năm thứ 3 tại Helsinki, Finland. Khởi thủy Linus viết phần nhân (kernel) cho
một hệ điều hành tương tự Minix trên cấu trúc 80386 với toàn bộ chương trình nguồn trong
Assembly codes. Sau đó Linus hoàn thiện dần phần nhân và với sự cộng tác của nhiều người
yêu thích phát triển máy tính (hackers) trên khắp thế giới cho đến nay Linux là một phiên bản
rất mạnh của hệ điều hành Unix được cho không đến người sử dụng.
 Linux hiện nay đang được phổ biến rộng rãi trên khắp các trường đại học trên thế giới.
Phần nhân của hệ điều hành Linux không dùng bất kỳ chương trình nguồn nào có trước đó,
và hầu như tất cả các phần mềm sử dụng trên Linux hiện nay đều xuất phát từ đề án GNU của
FSF (Free Software Foundation) tại Cambridge, Massachusetts, U.S.A
 Linux hiện nay là một hệ điều hành đầy đủ tính năng multi–user và multi–tasking như tất
cả hệ điều hành Unix System V khác và kèm theo là rất nhiều phần mềm ứng dụng mạnh, đặc
biệt nhất là các phần mềm khai thác dịch vụ mạng Internet.
 Có nhiều công ty lấy mã nguồn mở Linux biên dịch lại, thêm một số tiện nghi riêng và tổ
chức thành những gói sản phẩm đầy đủ tiện nghi và dễ cài đặt cho người sử dụng; sản phẩm
Linux hiện nay bao gồm phần nhân hệ điều hành và rất nhiều phần mềm tiện nghi cho người
qu
ản trị hệ thống lẫn người sử dụng. Chúng ta có thể kể qua một số loại sản phẩm Linux
thông dụng như: Slackware, Debian, Red Hat, S.U.S.E, Caldera (SCO), Mandrake,
CentOS, Knoppix, Austrumi, ….
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 8

 Do tính dễ sử dụng và có nhiều nét tương tự MS Windows nên Red Hat Linux thường
được chọn làm môi trường thực hành cho giáo trình nhập môn về Linux. Version gần nhất
hiện nay của Red Hat Linux là 9.0, tuy nhiên do hiện nay Red Hat chủ yếu cung cấp các
phiên bản hỗ trợ các Server của IBM nên Red Hat đã đưa ra một dòng sản phẩm mới theo
tinh thần mã nguồn mở hoàn toàn là Fedora (đã có 8 phiên bản của Fedora Core 1,2,…,8 và
phiên bản mới nhất Fedora 8-Từ phiên bản 7 gọi là Fedora bỏ đi chữ Core).
 Người dùng có thể sử dụng những đĩa Linux không cần cài đặt mà vẫn chạy ngay được,
thường được gọi là Live CD hay Live DVD. Thí dụ: Fedora Core, Austrumi, SUSE, Ubuntu,
Knoppix (Knoppix được đánh giá mạnh nhất hiện nay và Ubuntu được đánh giá có tương lai
phát triển mạnh nhất), …
 Hiện nay có rất nhiều nhà phân phối lại sản phẩm Linux, người sử dụng có thể tải xuống từ
mạng Internet về từ những tập tin dạng nhị phân thực thi được đến mã nguồn gốc (trong C
code); tuy nhiên do ở Việt Nam chúng ta giá cước truy cập Internet quá đắt và tốc độ truyền
tải cũng quá chậm nên tốt nhất chúng ta nên mua lại từ những nhà phân phối chính thức các
sản phẩm Linux với giá rất rẻ gần như cho không là dưới 1 USD cho mỗi đĩa CDROM.

Hình ảnh minh họa các phiên bản của UNIX
3.Giới thiệu sơ lược về các dòng sản phẩm của UNIX
UNIX có hai dòng: System V của AT&T,Novell và Berkeley Software Distribution (BSD)
của đại học Berkeley.
a.System V:
Các phiên bản UNIX cuối cùng do AT&T xuất bản là System III và một vài phát hành
(releases) của System V.
Hai bản phát hành gần đây của System V là
• Release 3 (SVR3.2)
• Release 4.2 (SVR4.2)
• Phiên b
ản SYR 4.2 là phổ biến nhất cho từ máy PC cho tới máy tính lớn
Do AT&T xuất bản vào năm 1982
NHÓM 7 GVHD: Thầy Trần Quốc Hùng


Đề tài: Nghiên cứu hệ điều hành Linux Trang 9
b.BSD(Berkeley Software Distribution):
Từ 1970, Computer Science Research Group của University of California tại
Berkelry (UCB) xuất bản nhiều phiên bản UNIX, được biết dưới các tên Berkeley Software
Distribution, hay BSD. Cải tiến của PDP-11 được gọi là 1BSD và 2BSD. Trợ giúp cho các
máy tính của Digital Equipment Corporation VAX được đưa vào trong 3BSD. Phát triển của
VAX được tiếp tục với 4.OBSD, 4.1BSD, 4.2BSD, 4.3BSD.
4. Các đặc điểm cơ bản Hệ điều hành UNIX có một số đặc điểm sau:
- Đa chương
- Nhiều người sử dụng
- Bảo mật
- Độc lập phần cứng
- Kết nối mở
- Dùng chung thiết bị
- Tổ chức tập tin phân cấp
a/ Nhiều người sử dụng: Nhiều người sử dụng có thể sử dụng máy tính có cài UNIX
tại một thời điểm.
Ví dụ: UNIX Server:
- User A: dùng Oracle
- User B: chương trình biên dịch
- User C: gửi thư
Hệ điều hành UNIX quản lý những người sử dụng theo cấu trúc phân cấp, người sử dụng có
thể giao tiếp với nhau theo các nhóm. Người sử dụng cao nhất (super user) có thể can thiệp
đến các người sử dụng khác nếu cần.
b/ Đa chương
Tại một thời điểm một người sử dụng có thể thực hiện đồng thời nhiều tác vụ. Với hệ
điều hành đơn chương như MS-DOS một lệnh thực hiện sẽ chiếm toàn bộ thời gian CPU xử
lý, bạn chỉ có thể thực hiện lệnh kế khi lệnh trước đó đã được thực hiện xong. Còn trong hệ
điều hành UNIX bạn có thể đặt lệnh chạy ở chế độ nền (background) đồng thời khi đó có thể

thực hiện các lệnh kế.
c/ Tổ chức lưu trữ tập tin phân cấp
Các tập tin của UNIX được tổ chức theo dạng cây có chung thư mục gốc được biểu
diễn bởi ký tự /. Bên trong thư mục có thể là các thư mục con hay các tập tin .
UNIX có 3 loại tập tin:
- Tập tin bình thường (ordinary file): là một tập tin chứa các dữ liệu ASCII hay nhị
phân.
- Tập tin thư mục (directory file): chứa danh sách các phần tử (thư mục, tập tin,
thiết bị) có thể truy xuất tới.
- T
ập tin đặc biệt (special file): là các tập tin liên quan đến các thiết bị phần cứng và
truyền thông.
Ví dụ:
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 10
- bàn phím là một tập tin nhập.
- màn hình là một tập tin xuất.
/
UMUNIX - bin - users – dev
user1
user2
(n ổ đĩa)
Đối với Unix toàn bộ hệ thống tập tin chỉ có một root. Có thể sử dụng lệnh mount để
kết nối các ổ đĩa trong một hệ thống tập tin duy nhất.
Ổ 1 : / LIB
BIN
USR
Ổ 2: /- ETC
ORACLE

mount => / - LIB
BIN
USR- ETC
- ORACLE
d/ Độc lập phần cứng
Vì hệ điều hành UNIX được viết bằng ngôn ngữ cấp cao cho nên nó rất dễ cài đặt trên các
cấu hình phần cứng khác. Hơn nữa với cách tổ chức các thiết bị là các tập tin đặc biệt nên
việc thêm vào hay loại bỏ các thiết bị rất dễ dàng.
e/ Dùng chung thiết bị
Vì Unix là môi trường nhiều người sử dụng do đó các thiết bị ngoại vi như máy in,v.v có
thể được dùng chung bởi nhiều người sử dụng.
f/ Bảo mật
Unix cung cấp rất nhiều cơ chế bảo mật khác. Trong đó mỗi người sử dụng có một số quyền
trên các tập tin nhất định và chỉ được phép chạy một số chương trình nhất định. Ngoài ra cơ
chế mã hoá và giải mã cũng là một phần của hệ điều hành.
g/ Kết nối mở
Unix cung cấp các thiết bị mạng qua Ethernet, Modem, X25. Với nhiều thủ tục truyền thông
khác nhau UUCP (Unix-to-Unix Copy), TCP/IP, và các ứng dụng E-mail,FTP, NFS
(Network File System).
5. Các thành phần chính của hệ điều hành UNIX:
• Kernel
• Các bộ điều khiển thiết bị
• L
ệnh và tiện ích
• Shell
• Windows & Graphic User Interface
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 11
a/ Kernel:

Là thành phần chủ yếu hay trái tim của hệ điều hành. Nó chiếm khoảng 500KB > 2MB tùy
theo tính chất phức tạp của hệ thống.
Nhiệm vụ chủ yếu của Kernel là:
• Quản lý tài nguyên: như bộ nhớ, v.v
• Quản lý hệ thống tập tin: có thể là các tập tin, thư mục cục bộ hay từ xa.
• Quản lý các quá trình thường trú (deamon).
• Quản lý bộ nhớ ảo: để thực thi nhiều quá trình đồng thời trong khi số lượng bộ nhớ
có hạn, Unix tổ chức một vùng trên đĩa như là một vùng bộ nhớ (bộ nhớ ảo). Kernel phải
“swap” các quá trình giữa bộ nhớ > bộ nhớ ảo.
RAM
Kernel Vùng làm việc Swap
Đĩa cứng
Swap
bộ nhớ ảo
• Quản lý quá trình : Như đã biết vì Unix là một hệ điều hành đa chương do đó việc
quản lý các quá trình đồng thời rất phức tạp. Nó phải quản lý việc khởi tạo và kết thúc các
quá trình cũng như các tranh chấp có thể xảy ra .
• Quản lý các bộ điều khiển thiết bị .
• Quản lý mạng: bao gồm nhiều thiết bị phần cứng khác và các thủ tục khác .
• Quản lý việc khởi động và dừng máy .
b/ Bộ điều khiển thiết bị:
UNIX thể hiện các thiết bị vật lý như các tập tin đặc biệt. Một tập tin đặc biệt sẽ có 1 điểm
vào trong thư mục và có 1 tên tập tin. Do đó Unix cho phép người sử dụng định nghĩa tên
thiết bị. Các thiết bị được chia làm hai loại: ký tự và khối .
- Thiết bị ký tự đọc và ghi dòng các ký tự (ví dụ các thiết bị đầu cuối) .
- Thiết bị khối đọc và ghi dữ liệu trong các khối có kích thước cố định (ví dụ ổ đĩa) .
Thiết bị có thể đổi tên như đổi tên tập tin. Thư mục chứa các bộ điều khiển thiết bị là
/dev .
c/ Lệnh và tiện ích:
Các lệnh và tiện ích của Unix rất đa dạng .

Một lệnh UNIX có dạng: $lệnh [các chọn lựa] [các đối số] lệnh thường là chữ nhỏ .
Unix phân biệt chữ lớn, nhỏ .
Ví dụ: $ls -c /dev
Ta có thể chia lệnh thành các nhóm sau :
a. Các lệnh khởi tạo:
exit thoát khỏi hệ thống (Bourne-Shell)
logout thoát khỏi hệ thống C-Shell
id chỉ danh của người sử dụng
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 12
logname tên người sử dụng login
man giúp đỡ
newgrp chuyển người sử dụng sang một nhóm mới
psswd thay đổi password của người sử dụng
set xác định các biến môi trường
tty đặt các thông số terminal
uname tên của hệ thống (host)
who cho biết những ai đang thâm nhập hệ thống
b. Trình báo màn hình:
echo hiển thị dòng ký tự hay biến
setcolor đặt màu nền và chữ của màn hình
c. Desktop:
bc tính biểu thức số học
cal máy tính cá nhân
date hiển thị và đặt ngày
mail gửi - nhận thư tín điện tử
mesg cấm/ cho phép hiển thị thông báo trên màn hình (bởi write/ hello)
spell kiểm tra lỗi chính tả
vi soạn thảo văn bản

write/ hello cho phép gửi dòng thông báo đến những người sử dụng trong hệ thống
d. Thư mục:
cd đổi thư mục
copy sao chép 2 thư mục
mkdir tạo thư mục
rmdir loại bỏ thư mục
pwd trình bày thư mục hiện hành
e. Tập tin:
cas/ more trình bày nội dung tập tin
cp sao chép một hay nhiều tập tin
find tìm vị trí của tập tin
grep tìm vị trí của chuỗi ký tự trong tập tin
ls, l, lf, lc trình bày tên và thuộc tính của các tập tin trong thư mục
mv chuyển/ đổi tên một tập tin
sort sắp thứ tự nội dung tập tin
wc
đếm số từ trong tập tin
f. Quản lý quá trình:
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 13
kill hủy bỏ một quá trình
ps trình bày tình trạng của các quá trình
sleep ngưng hoạt động một thời gian
g. Kiểm soát chủ quyền:
chgrp chuyển chủ quyền tập tin, thư mục từ một nhóm sang một nhóm khác
chmod thay đổi quyền sở hữu của tập tin hay thư mục
chown thay đổi người sở hữu tập tin hay thư mục
h. Kiểm soát in:
cancel ngưng in

lp n tài liệu ra máy in
lpstat trạng thái của hàng chờ in
d/ Shell:
Là bộ xử lý lệnh của người sử dụng, nó cho phép người sử dụng tạo các lệnh rất phức tạp từ
các lệnh đơn giản. Chúng ta có thể coi shell như một ngôn ngữ lập trình cấp cao.
Các chức năng chính của shell là:
UNIX Shell:
• Kiểm soát I/O và đổi hướng
• Các biến môi trường
• Thực hiện lệnh
• Thư viện lệnh nội tại
• Tên tập tin mở rộng
• Ngôn ngữ lập trình và môi trường thực hiện lệnh: Lệnh có thể được thực hiện ở chế
độ tương tác với người sử dụng hay chế độ nền (background).
Thư viện lệnh nội tại: Các lệnh nội trú trong shell.
Ngôn ngữ lập trình và môi trường: Cho phép tạo các tập tin shell-script và các cấu trúc điều
khiển như Do, While, Until, If, Case.
Tên tập tin mở rộng: Cho phép biên dịch tên tập tin ở dạng ?, *.
Các biến môi trường: Cho phép đặt các biến môi trường.
Ví dụ: PATH=/USR/BIN Kiểm soát I/O và đổi hướng: Shell định nghĩa các thiết bị xuất/
nhập chuẩn và cho phép ta đổ hướng thiết bị xuất/ nhập của các quá trình.
Hiện nay người ta sử dụng ba loại shell, tùy theo loại mà có cú pháp khác nhau:
Bourne-Shell : là shell cơ bản nhất, nhanh, hiệu quả, nhưng ít lệnh.
C-Shell : giống như Bourne-Shell nhưng cung cấp thêm các cấu trúc điều khiển,
history, bí danh.
Korn-Shell : Kết hợp cả Bourne-Shell và C-Shell.
e/ Windows và Graphic User Interface: Giao tiếp đồ hoạ và cửa sổ là một khả năng
rất mạnh của hệ điều hành UNIX, nó cho phép hệ điều hành giao tiếp thân thiện hơn với
người sử dụng. Hiện nay UNIX cài đặt XWINDOW (X11) là một môi trường quản lý đồ hoạ
lý tưởng. Trong Sun Solaris thì sử dụng với tên gọi là OpenWin.

NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 14
Tóm lại: Đứng về phía người sử dụng ta có thể hình dung hệ điều hành UNIX như sau:
Người sử dụng - lệnh Unix - biên dịch Shell - Kernel - Máy tính .


B. Cấu hình và phiên bản
1 Cấu hình để cài hệ điều hành Linux:
Linux không đòi hỏi máy có cấu hình mạnh. Tuy nhiên nếu phần cứng có cấu hình
thấp quá thì có thể không chạy được Xwindow hay các ứng dụng có sẵn. Cấu hình tối thiểu
nên dùng:
a. CPU
Hệ thống căn bản cho Linux là PC tương thích với IBM có cài chip Intel 80386 hoặc
hiện đại hơn, chẳng hạn như 80386 SX, 80386 DX/2, hay bộ vi xử lý Pentium. Một số clone
khác như chip 80386 của Cyrix hoặc AMD cũng chấp nhận Linux .
Hai loại chip 80386 và 80386 SX không có bộ đồng xử lý toán cài sẵn, tuy nhiên
Linux không cần phải có bộ đồng xử lý toán có dấu phẩy động. Linux có thể giả lập bộ đồng
xử lý bằng cách sử dụng các chương trình con, song như thế sẽ giảm tốc độ thi hành. Do đó
để hệ thống chạy nhanh, bạn nên có một CPU cài đặt sẵn bộ đồng xử lý toán, chẳng hạn như
80486 DX hoặc Pentium.
Kernel Linux cũng được tương thích hóa với một bộ vi xử lý khác, chẳng hạn như
DEC Alpha, Power PC (Mac), sun Sparc, và ngay cả các bộ vi xử lý hệ thống nhúng
(embedded) như loại dùng với Network PC của Caldera .
b. Bus hệ thống
Linux chỉ chạy với bus loại ISA, EISA và PCI. Các kernel mới của Linux (từ 2.2 trở
đi) có thể chạy với bus AGP. Với bus MCA trên PS/2 của IBM, chỉ các bản kernel trên 2.0.7
là chạy được. Vài hệ thống mới sử dụng loại bus nhanh hơn gọi là local bus để truy nhập đĩa
và hiển thị màn hình. Linux chấp nhận VESA local bus nhưng có thể không chạy được với
cấu trúc local bus phi – VESA .

c. Bộ nhớ (RAM)
Linux không đòi hỏi nhiều RAM nhất là khi so sánh với các hệ điều hành như OS/2
hoặc Windows NT .
Về mặt kỹ thuật, Linux chỉ cần 2MRAM, nhưng trong đa số trường hợp cài đặt và yêu
cầu của phần mềm, Linux cần ít nhất 4MRAM, mặc dù 128M là vừa nhất :
-Việc sử dụng Linux trên máy cấu hình thấp (386/16 MHz+4MRam) là có thể, nhưng
bạn chỉ có thể chạy ở chế độ văn bản (text mode) .
-Đối với bản RedHat v.7.2, bạn cần ít nhất là 64MRam .
Nếu có ít hơn 4MRam, bạn phải có swap file (tập tin hoán chuyển, được dùng như bộ
nhớ ảo) .
-Lượng RAM cần thiết còn phụ thuộc việc bạn sử dụng máy để làm gì. Càng nhiều
chức năng càng cần thêm RAM. Khi bạn dùng máy như một máy chủ về Cơ Sở Dữ Liệu thì
lượng RAM có thể tăng lên rất nhiều .

d. Ổ đĩa và dung lượng
Bạn có thể khởi động Linux từ một đĩa mềm, mặc dù trên nguyên tắc vẫn có thể chạy
Linux từ đĩa mềm nhưng không nên làm thế .
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 15
Nếu sử dụng PC ở nhà, máy bạn cần có một ổ đĩa mềm, loại 5.25’’ hoặc 3.5’’ đều
được. Cho dù chạy Linux từ CD-ROM bạn vẫn phải có một ổ đĩa mềm. Tuy nhiên nên sử
dụng loại 3.5’’
-Với bản demo của SUSE Linux 7.3, bạn có thể chạy trên CD-ROM mà không cần
biết đến đĩa mềm .
Để hệ thống chạy hiệu quả hơn bạn nên cài đặt Linux vào ổ cứng, với điều kiện bạn
phải có controller (mạch điều khiển) ổ cứng tiêu chuẩn IBMAT. Việc này không khó bởi vì
đa phần các controller phi – SCSI sau này đều tương thích với AT. Linux chấp nhận mọi
controller MFM và IDE, RLL và ESDI. Đối với IDE drive loại mới năng suất cao sau này
xuất phát từ các controller IDE 8 – bit, sự tương thích hoàn toàn chỉ với các bản sao kernel

Linux mới (2.2.x trở lên).
Linux chấp nhận nhiều loại controller ổ cứng dạng SCSI. Nếu máy bạn có một
controller SCSI thật ( không phải phiên bản sở hữu riêng của SCSI ) thì Linux chấp nhận
controller này. Hiện Linux đã chấp nhận controller SCSI, Ultra Store, bộ điều hợp (adapter)
SCSI trên card ProAudio Spectrum 16 và Western Digital.
e. Dung lượng ổ cứng
Nói về khoảng trống trên đĩa, bạn nên nhớ là Linux không thể thường trú trên cùng
một partition (vùng phân chia) như những hệ điều hành khác, chẳng hạn như MS-DOS hoặc
OS/2. Partition là những vùng được phân chia theo ý của người sử dụng dùng khi bắt đầu
thiết lập thông số cho ổ đĩa và trước khi format ổ đĩa. Thông thường bạn vẫn dùng lệnh fdisk
để phân chia ổ. Vài sản phẩm thương mại cho phép bạn phân chia lại ổ cứng, và Linux có tiện
ích tương tự gọi là FIPS. Muốn sử dụng Linux cho có hiệu quả, bạn phải phân vùng lại ổ
cứng và cấp phát đủ dung lượng đĩa cho các tập tin hệ thống Linux và cho các tập tin dữ liệu
của bạn.
Dung lượng đĩa cần thiết tùy thuộc vào phần mềm bạn sẽ cài đặt và số lượng dữ liệu
mà phầm mềm ấy sinh ra. So với hầu hết các hệ điều hành khác của UNIX, Linux đòi hỏi
dung lượng đĩa ít hơn. Bạn có thể chạy toàn bộ hệ Linux (ở chế độ text mode) với 80MB (bản
kernel 2.2.4-10). Nếu cài đặt không sót những gì trong bản phát hành, bạn sẽ cần từ 1.8GB
đến 3.5GB tùy theo phiên bản và nhà sản xuất. Cụ thể là :
- Custom Installation (minimum) :520MB
- Server (minimum) :870MB
- Personal Desktop :1.9GB
- Workstation :2.4GB
- Custom Installation (everything) :5.3GB
2M cho card màn hình nếu muốn sử dụng mode đồ họa.

2. Các phiên bản của Linux:
Có nhiều phiên bản Linux khác nhau trên thị trường. Đó là Slackware, Red Hat,
Caldera, SLS (Softlanding Linux System), TAMU (Texas A&M University), Yggdrasil và
không ít phiên bản khác. Có nhiều điểm khác biệt giữa các phiên bản của Linux, nhưng một

vài khác biệt có ý nghĩa, một số khác thì không. Những khác biệt có thể tìm thấy trong các
phiên bản Linux chỉ là một số khoản mục nhỏ chẳng hạn như :công cụ quản trị và thủ tục cài
đặt tốt hơn, hỗ trợ kỹ thuật, các trình điều khiển phần cứng tốt hơn…Mặc dù ở mức độ nào
đó bạn có thể kết hợp các phiên bản, nhưng đa số người dùng thường chọn lấy một phiên bản
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 16
và trung thành với nó. Tuy bạn có thể luôn nạp lại phiên bản Linux khác, nhưng nhất cử nhất
động phải có nguyên nhân xác đáng.
Linux thực sự khả dụng (và miễn phí ) nếu bạn biết tìm đúng chỗ. Bởi vì Linux được
phân phối mà không có tổ chức trung tâm nào quản lý, nên không có nhóm nào chịu trách
nhiệm cập nhật Linux. Tìm kiếm nguồn phần mềm và bảo đảm phiên bản nhận được đầy đủ
các thành phần đều tùy thuộc vào bạn. Bạn phải chọn phiên bản cẩn thận bởi vì nhiều nguồn
phân phối như nhà sách và cửa hiệu máy tính thường trữ nhiều phiên bản (của cùng một nhà
phân phối Linux) nên một số đã không hợp thời nữa .
Có nhiều cách để tìm thấy bản sao Linux. Tùy vào ưu thế của bạn mà chọn phương
pháp nào tiện lợi và tiết kiệm nhất. Phương pháp phổ biến để có được trọn bộ tiện ích Linux
là thông qua đĩa CD-ROM, ví dụ bộ đĩa CD của nhà phân phối Workgroup Solution chẳng
hạn. Lần lượt mua CD-ROM tải xuống từ địa điểm FTP và Bulletin Board Systems (BBS), đa
số đều là bản sao miễn phí. Bạn có thể nhận được bản sao Linux bằng cách gửi thư.
Phương pháp tạo một bản sao Linux ở mức độ nào đó cũng phải có một phần mềm
thật hoàn chỉnh. Ví dụ các phiên bản CD-ROM, thường có nhiều phần mềm Linux khả dụng
trên đĩa, trong khi BBS và FTP chỉ phân phối đủ để lắp đặt và sử dụng như một hệ thống cơ
bản.
Các phiên bản Linux gần đây nhất là :
-Linux Gazette .
-Lineox Enterprise Linux 4.0 và Pie Box Enterprise Linux ( 100% phần mềm dùng
làm phiên bản RHAS) .
-Hacao Linux 2.6 với nhiều nâng cấp cải tiến, khả năng nhận biết thiết bị cao cấp, sử
dụng ổ đĩa SATA được…và nhiều tiện ích khác. Vấn đề Tiếng Việt tốt, gõ dễ dàng với

Unikey bao gồm từ điển StarDict Anh – Việt & Việt – Anh rất thuận tiện.
-Zen Linux có 3 bản khác nhau:
+ Core (twm là windows manager)
+ Gnome
+ KDE
- Hacao Linux 2.16 pro
- Vnlinux CD-9.4-light (bộ nhớ từ 64-96MB, có 2 phiên bản cho Gnome và KDE
dành cho máy 128MB trở lên)
- Vnlinux CD-9.7
- RedHat 10.0
- VietKey Linux
3.Cấu trúc thư mục:
Cấu trúc thư mục giống như trong Windows và các hệ điều hành khác, hệ thống tập tin trong
linux là một cây rất lớn (big tree), thư mục root là thư mục gốc ( / ), các tập tin và các ổ đĩa
khác chỉ là nhánh của root.
Ví dụ bạn có hai đĩa cứng a và b, một đĩa mềm và một ổ CD-ROM. Hãy giả sử rằng ổ đĩa thứ
nhất có 2 phân vùng (partition) là a1 và a2, ổ thứ 2 chỉ có một phân vùng là b.
Trong Windows

Ổ cứng a, phân vùng a1 (hda1): ổ đĩa C
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 17
Ổ cứng a, phân vùng a2 (hda2): ổ đĩa D
Ổ cứng b, phân vùng b1 (hdb1): ổ đĩa E
Ổ đĩa mềm: ổ A
Ổ CD-ROM: ổ F
Ngược lại trong Linux mỗi ổ đĩa sẽ được gắn kết (mount) vào trong cây thư mục (Tree
Directory) giống như là một thư mục bình thường
Hda1 : / (Root)

Hda2 : /home
Hdb1 : /home/user/music
ổ đĩa mềm : /mnt/floppy
Ổ CD-ROM : /mnt/cdrom


PHẦN 2: CÁC ĐẶC ĐIỂM CỦA LINUX
I-Lời nói đầu:
Hàng loạt sách viết về LINUX, nhiều tạp chí nói về nó. Có những nhóm tin usenet với
hàng trăm thông điệp mỗi ngày, CD-ROM lưu trữ LINUX được bán ra với số lượng hàng
ngàn, và ngày càng nhiều người dùng Windows cố tìm ra điều gì làm nên hiện tượng này.
Mặc dù hệ điều hành LINUX đã quá phổ biến, thế nhưng vần còn hàng ngàn, nếu chưa nói là
hàng triệu người dùng tò mò về nó nhưng bước đầu vần còn e ngại thực hiện thao tác cài đặt
và sử dụng hệ thống.
Trước khi bắt đầu, chúng ta nên tìm hiểu qua cách phát âm từ “LINUX”. Có hai
trường phái khác nhau về âm I trong từ “LINUX” bởi vì LINUX giống với UNIX và có
nguồn gốc phát triển từ một lập trình viên có tên là LINUX, nên nhiều người dùng công nhận
âm i dài nh
ư trong từ “line-icks” là phát âm đúng. Ngược lại LINUX thật sự được phát triển
để thay thế một từ gần giống UNIX gọi là Minix (có âm i ngắn), vì thế trường phái LINUX
còn lại gọi hệ điều hành này là “lih-nicks”. Vậy cách nào đúng? Những người phát triển tiên
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 18
phong dùng cách phát âm thứ hai, trong khi hầu hết những người Bắc Mỹ lại thích cách phát
âm thứ nhất hơn. Cứ chọn cách nào bạn thích. Dù bạn phát âm i dài hay i ngắn, thì mọi người
vẫn hiểu bạn muốn nói gì.

II-Tại sao sử dụng LINUX ?
Bạn đến với LINUX vì đây là một trong những hệ điều hành miễn phí hiện nay, có

khả năng đa chương đa nhiệm cùng lúc cho nhiều người sử dụng trên các nền phần cứng
tương thích với PC của IBM. So với những hệ điều hành khác mang tính năng thương mại,
LINUX giúp bạn tránh được những ràng buộc như thỉnh thoảng lại phải nâng cấp, và mỗi lần
như thế lại phải nâng cấp cả những ứng dụng và trả nhiều khoản tiền quá đáng. Nhiều ứng
dụng cho LINUX được cung cấp miễn phí trên Internet cũng như mã nguồn của LINUX. Từ
đó, bạn có thể lấy mã nguồn về, sau đó chỉnh sửa và mở rộng hệ điều hành theo nhu cầu riêng
của bạn, một việc mà bạn không thể nào thực hiện được với những hệ như Windows NT,
Windows 95, MS-DOS, và OS/2.
Tuy nhiên việc được độc lập với những công ty thương mại cũng là một thế yếu tiềm
tàng của LINUX. Bởi vì không một công ty thương mại riêng rẽ nào nhận trợ giúp LINUX,
do đó bạn không thể gọi điện đến để họ giúp đỡ. Tuy thế, với sự phát triển của Internet, các tổ
chức hỗ trợ người dùng LINUX đã tạo nên vô số các site, các forum để hướng dẫn cho bạn
mọi vấn đề về LINUX.
Ngoài ra, LINUX có thể không chạy tốt với một số phần cứng. Việc hỏng hóc hoặc
xóa mất các tập tin dữ kiện trên hệ của bạn là có thể xảy ra bởi vì LINUX luôn thay đổi và
chưa qua tiến trình thử nghiệm khắt khe nào trước khi được tung ra.
LINUX không phải là món đồ chơi mà là một hệ thống được thiết kế nhằm mang đến
cho người sử dụng cảm giác cùng tham gia vào một dự án mới, cũng tựa như hồi thời kì cách
mạng PC. Tuy nhiên, LINUX ổn định trên nhiều hệ thống và giới thiệu cho bạn một cơ may
không quá tốn kém để học và sử dụng một trong những hệ điều hành được nhiều người dùng
nhất thế giới hiện nay: UNIX. Nhiều công ty bán CD-ROM và hãng sản xuất phần mềm,
chẳng hạn như Red Hat và Caldera hiện đang ủng hộ hệ điều hành LINUX. Cả IBM, anh Cả
xanh (Big Blue) đến nay cũng đã đầu tư vào xây dựng các máy tính, chip hỗ trợ LINUX.
Ngoài ra chúng ta cũng có thể kể thêm về các phiên bản phần mềm LINUX khác nhau của
các công ty khác nhau như Turbo Linux, SuSe Linux…
LINUX là một khả năng thay thế cho các hệ thống UNIX khác và có thể dùng thay
các hệ điều hành đôi khi đắt tiền ấy.
LINUX cũng giúp bạn dễ dàng truy cập Internet và những gì còn lại của xa lộ thông
tin.
Một vần đề khá tế nhị làm cho LINUX dễ đến với người dùng là LINUX cung cấp mã

nguồn mở cho mọi người. Chính điều này khiến cho một số quốc gia đầu tư nghiên cứu
LINUX để không bị lệ thuộc vào phần mềm sẵn có (như Windows). Họ cho rằng mặc dù
Windows rất dễ dùng nhưng họ không đảm bảo được rằng, bên dưới nền hệ điều hành kín
này, các thông tin cá nhân hay quốc gia của họ có bị thu tóm về một số tổ chức hay quốc gia
nào khác hay không? Ta có thể thấy là Trung Quốc hiện đang phát triển hệ điều hành Hồng
Kỳ từ kernel của LINUX để có thể dần thay thế Windows, cũng như tự nghiên cứu một loại
chip mới Hồng Tâm để thay thế Intel.
Tại Việt Nam, việc nghiên cứu để xây dựng một hệ điều hành Việt Nam đã thu được
m
ột số thành công nhất định. Chắc bạn cũng đã biết đến LINUX Việt Nam và CMC Red Hat
LINUX phiên bản tiếng việt.

NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 19
III-Vài dòng về lịch sử LINUX:
Giữa năm 1960, AT&T Bell Laboratories và một số trung tâm khác tham gia vào một
cố gắng nhằm tạo ra một hệ điều hành 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 và do đó không khả thi. Thậm chí nhiều yêu cầu đối với Multics thời đó
đến nay vẫn chưa có được trên các UNIX mới nhất. Nhưng Ken Thompson, Dennis Richie 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ệ điều hành làm
nhiều việc cùng lúc như multics, họ quyết định phát triển một hệ điều hành đơn giản chỉ làm
tốt một công việc là chạy chương trình (run program). Hệ điều hành sẽ có rất nhiều các công
cụ (tool) nhỏ, đơn giản, gọn nhẹ (compact) và chỉ làm tốt một công việc. Bằng cách kết hợp
nhiều công cụ lại với nhau, họ sẽ có một chương trình thực hiện một công việc phức tạp. Đó
cũng là cách thức người lập trình viết ra chương trình. Vào năm 1973, sử dụng ngôn ngữ C
của Richie, 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. Do đó, UNIX từ chỗ là một hệ điều hành cho một máy PDP-xx trở thành hệ
điều hành của các máy khác với một cố gắng tối thiểu để chuyển đổi. 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.
Hai dòng UNIX: System V của AT&T, Novell và Berkeley Software Distribution
(BSD) của đại học Berkeley.
-System V: các phiên bản UNIX cuối cùng do AT&T xuất bản là System III và một
vài phát hành (release) của System V. Hai bản phát hành gần đây của System V là Release
3.2 (SVR 3.2) và Release 4.2 (SVR 4.2). Phiên bản SVR 4.2 là phổ biến nhất từ máy PC cho
tới máy tính lớn.
-BSD: Từ 1970 Computer Science Research Group của University of California tại
Berkelry (UCB) xuất bản nhiều phiên bản UNIX, được biết dưới các tên Berkeley Software
Distribution, hay BSD. Cải tiến của PDP-11 được gọi là 1BSD và 2BSD. Trợ giúp cho các
máy tính của Digital Equipment Corporation VAX được đưa vào trong 3BSD. Phát triển của
VAX được tiếp tục với 4.OBSD, 4.1BSD, 4.2BSD, 4.3BSD.
-Trước 1992, UNIX là tên thuộc sở hữu của AT&T. Từ 1992, khi AT&T bán bộ phận
UNIX cho Novell, tên Unix thuộc sở hữu của X/Open foundation. Tất cả các hệ điều hành
thỏa mãn một số yêu cầu đều có thể gọi là Unix. Ngoài ra, Institute of Electrical and
Electronic Engineers (IEEE) đã thiết lập chuẩn “An Industry-Recognized Operating System
Interface Standard based on the UNIX Operating System”. Kết quả cho ra đời POSIX.1 (cho
giao diện C) và POSIX.2 (cho hệ thống trên Unix).
Tóm lại, vấn đề chuẩn hóa UNIX vẫn còn rất xa kết quả cuối cùng. Nhưng đây là quá trình
cần thiết có lợi cho sự phát triển của ngành tin học nói chung và sự sống còm của hệ điều
hành UNIX nói riêng.

IV-Lịch sử phát triển 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, một phiên bản của Unix làm ra với mục đích nghiên cứu cách tạo ra một
hệ điều hành Unix chạy trên máy PC với bộ 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 về dự
định của mình về Linux.
1/1992, Linus cho ra version 0.02 với sell và trình biên dịch C. Linux không cần
Minix n

ữa để biên dịch lại hệ điều hành của mình. Linus đặt tên hệ điều hành của mình là
Linux.
1994, phiên bản chính thức 1.0 được phát hành.
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 20
Linux là một hệ điều hành 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 8386 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 Space,
Linux thỏa mãn chuẩn POSIX.1.
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. Nên chú ý rằng giữa các Unix sự khác nhau cũng không kém gì giữa Unix và
Linux.
Linux là hệ điều hành phân phát miễn phí, phát triển trên mạng Internet, tựa Unix và
được sử dụng trên máy tính cá nhân (PCs). Linux đã phát triển nhanh chóng và trở nên phổ
biến trong thời gian ngắn. Nó nhanh chóng được nhiều người sử dụng vì một trong những lý
do là không phải trả tiền bản quyền. Mọi người có thể dễ dàng download từ Internet hay mua
tại các hiệu bán CD.
Linux là hệ điều hành có hiệu năng cao, trong tất cả các máy tính có cấu hình cao hay
thấp. Hệ điều hành này hỗ trợ các máy tính sử dụng 32 cũng như 64 bit và rất nhiều phần
mềm khác nhau.
Quá trình phát triển của Linux được tăng tốc bởi sự giúp đỡ của chương trình GNU
(GNU’s Not Unix). Đó là chương trình phát triển các Unix có khả năng chạy trên nhiều nền
tảng khác nhau. Đến cuối năm 2001, phiên bản mới nhất của Linux kernel là 2.4.2-2, có khả
năng điều khiển các máy đa bộ vi xử lý và rất nhiều các tính năng khác.

V-Những ưu điểm của LINUX:
Trong số những hệ điều hành thông dụng ngày nay, Linux là hệ điều hành miễn phí

được sử dụng rộng rải nhất. Với các PC IBM, Linux cung cấp một hệ thống đầy đủ với những
chức năng đa nhiệm (multitasking) và đa người dùng (multiuser) lập sẵn, tận dụng được sức
mạnh xử lý của máy 386 và cao hơn.
Linux có sẵn bộ giao thức TCP/IP giúp bạn dễ dàng kết nối Internet. Linux cũng có
Xfree86 cung cấp cho bạn một giao diện đồ họa GUI đầy đủ. Những phần này bạn không cần
phải mất tiền mua chỉ cần tải xuống từ Internet.

1. Khả năng tương thích với các hệ mở:
Khả năng tương thích của một hệ điều hành giúp bạn chuyển nó từ một nền này sang
một nền khác mà vẫn hoạt động tốt. Trước kia UNIX chỉ hoạt động trên một nền duy nhất ,
đó là máy điện toán mini DEC PDP-7. Hiện nay, UNIX chạy được trên bất kỳ nền nào, từ
máy tính xách tay cho đến những máy tính lớn dạng mainframe.
Nhờ tính tương thích này, các máy điện toán chạy UNIX trên nhiều nền khác nhau có
thể liên lạc với nhau một cách chính xác và hữu hiệu với những loại nền khác.

2. Hỗ trợ ứng dụng:
Hiện nay, Linux có hàng nghìn ứng dụng, bao gồm các chương trình báo biểu, cơ sở
dữ liệu, xử lý văn bản…Ngoài ra, Linux cũng có hàng loạt trò chơi giải trí trên nền văn bản
ho
ặc đồ họa.

NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 21
3. Lợi ích của giới chuyên nghiệp điện toán:
Đến với Linux, giới điện toán sẽ có hàng loạt công cụ phát triển chương trình, bao
gồm các bộ biên dịch cho nhiều ngôn ngữ lập trình hàng đầu hiện nay, chẳng hạn như C,
C++…

VI-Khuyết điểm của LINUX:

1.Hỗ trợ kỹ thuật:
Có lẽ điều trở ngại nhất của Linux là không có một công ty nào chịu trách nhiệm phát
triển hệ điều hành Linux này. Nếu có điều gì trục trặc, bạn không thể gọi miễn phí cho một
bộ phận hỗ trợ kỹ thuật nào cả.
Thiếu nguồn trợ giúp kỹ thuật không chỉ đối với Linux mà cả với những ứng dụng
Linux. Mặc dù, hiện có vài chương trình mang tính thương mại dành cho Linux, song đa
phần lại là chương trình miễn phí do một nhóm nhỏ biên soạn rồi đưa lên mạng cho cả thế
giới sử dụng chung.

2.Phần cứng:
Một điều bất tiện nữa là Linux không dễ cài đặt và rất nhiều phần không tương thích
với một vài phần cứng nào đó. Các nhà phát triển Linux là những người sống rải rác trên
hành tinh này, do đó không thể có một chương trình bảo đảm chất lượng như thông lệ. Các
nhà phát triển cảm thấy chương trình của mình dùng được là tung ra cho mọi người cùng xài
chứ không có một thời gian thử nghiệm chương trình. Hơn nữa các phần cứng mà Linux hỗ
trợ tùy thuộc vào loại máy móc mà các nhà phát triển sử dụng khi soạn thảo đoạn mã. Chính
vì thế mà Linux không thể chạy trên tất cả mọi nền phần cứng của PC hiện nay.

VII-Kiến trúc của hệ điều hành LINUX:


1. Hạt nhân (Kernel)
Là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều khiển hoạt
động của toàn bộ hệ thống. Hạt nhân được phát triển không ngừng, thường có 2 phiên bản
mới nhất, một bản dạng phát triển mới nhất và một bản ổn định mới nhất. Kernel được thiết
kế theo dạng modul, do vậy kích thước thật sự của Kernel rất nhỏ. Chúng chỉ tải những bộ
phận cần thiết lên bộ nhớ, các bộ phận khác sẽ được tải lên nếu có yêu cầu sử dụng. Nhờ vậy
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 22

so với các hệ điều hành khác Linux không sử dụng lãng phí bộ nhớ nhờ không tải mọi thứ lên
mà không cần quan tâm nó có sử dụng không.
Kernel được xem là trái tim của hệ điều hành Linux, ban đầu phát triển cho các CPU
Intel 80386. Điểm mạnh của loại CPU này là khả năng quản lý bộ nhớ. Kernel của Linux có
thể truy xuất tới toàn bộ tính năng phần cứng của máy. Yêu cầu của các chương trình cần rất
nhiều bộ nhớ, trong khi hệ thống có ít bộ nhớ, hệ điều hành sử dụng không gian đĩa hoán đổi
(swap space) để lưu trữ các dữ liệu xử lý của chương trình. Swap space cho phép ghi các
trang của bộ nhớ xuất các vị trí dành sẵn trong đĩa và xem nó như phần mở rộng của vùng
nhớ chính. Bên cạnh sử dụng swap space, Linux còn hỗ trợ các đặc tính sau:
- Bảo vệ vùng nhớ giữa các tiến trình , điều này không cho phép một tiến trình làm tất
cả toàn bộ hệ thống.
- Chỉ tải các chương trình khi có yêu cầu.

2.Shell
Shell cung cấp tập lệnh cho người dùng thao tác với kernel để thực hiện công việc.
Shell đọc các lệnh từ người dùng và xử lý. Ngoài ra, shell còn cung cấp một số đặc tính khác
như: chuyển hướng xuất nhập, ngôn ngữ lệnh để tạo các tập tin lệnh tương tự tập tin bat trong
DOS.
Có nhiều loại shell được dùng trong Linux. Điểm quan trọng để phân biệt các shell
với nhau là bộ lệnh của mỗi shell. Ví dụ, C shell thì sử dụng các lệnh tương tự ngôn ngữ C,
Bourne Shell thì dùng ngôn ngữ lệnh khác.
Shell sử dụng chính trong Linux là GNU Bourne Again Shell (bash). Shell này là
shell phát triển từ Bourne Shell, là shell sử dụng chính trong các hệ thống Unix, với nhiều
tính năng mới như: điều khiển các tiến trình, các lệnh history, tên tập tin dài…

3. Các tiện ích
Các tiện ích được người dùng thường xuyên sử dụng . Nó dùng cho nhiều thứ như
thao tác tập tin, đĩa, nén, sao lưu tập tin… Tiện ích trong Linux có thể là các lệnh thao tác hay
các chương trình giao diện đồ họa. Hầu hết các tiện ích dùng trong Linux là sản phẩm của
chương trình GNU. Linux có sẵn rất nhiều tiện ích như trình biên dịch, trình gỡ lỗi, soạn văn

bản…Tiện ích có thể được sử dụng bởi người dùng hoặc hệ thống. Một số tiện ích được xem
là chuẩn trong hệ thống Linux như passwd, Is, ps, vi…

4. Chương trình ứng dụng
Khác với các tiện ích, các ứng dụng như chương trình word, hệ quản trị cơ sở dữ
liệu…là các chương trình có độ phức tạp lớn và được các nhà sản xuất viết ra.


VIII-Các đặc tính cơ bản của LINUX:
Linux hỗ trợ các tính năng cơ bản thường thấy trong các hệ điều hành Unix và nhiều
tính năng khác mà không hệ điều hành nào có được. Linux cung cấp môi trường phát triển
m
ột cách đầy đủ bao gồm các thư viện chuẩn, các công cụ lập trình, trình biên dịch,
debug…như bạn mong đợi ở các hệ điều hành Unix khác. Hệ thống Linux trội hơn các hệ
NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 23
thống khác trên nhiều mặt, mà người dùng quan tâm như sự phát triển, tốc độ, dễ sử dụng và
đặc biệt là sự phát triển và hỗ trợ mạng. Một số đặc điểm của Linux chúng ta cần quan tâm:

1. Đa tiến trình:
Là đặc tính cho phép người dùng thực hiện nhiều tiến trình đồng thời. Ví dụ bạn vừa
in, vừa soạn văn bản, vừa nghe nhạc…cùng một lúc. Máy tính sử dụng chỉ một CPU nhưng
xử lý đồng thời nhiều tiến trình cùng lúc. Thực chất là tại một thời điểm CPU chỉ xử lý được
một mệnh lệnh, việc thực hiện cùng lúc nhiều công việc là giả tạo bằng cách làm việc xen kẽ
và chuyển đổi trong thời gian nhanh. Do đó người dùng cứ ngỡ là thực hiện đồng thời.

2. Tốc độ cao:
Hệ điều hành Linux được biết đến như một hệ điều hành có tốc độ xử lý cao, bởi vì nó
thao tác rất hiệu quả đến tài nguyên như: bộ nhớ, đĩa…


3. Bộ nhớ ảo:
Khi hệ thống sử dụng quá nhiều chương trình lớn dẫn đến không đủ bộ nhớ chính
(RAM) để hoạt động. Trong trường hợp đó, Linux dùng bộ nhớ từ đĩa là paritition swap. Hệ
thống sẽ đưa các chương trình hoặc dữ liệu nào chưa có yêu cầu truy xuất xuống vùng swap
này, khi có nhu cầu thì hệ thống chuyển lên lại bộ nhớ chính.

4. Sử dụng chung thư viện:
Hệ thống Linux có rất nhiều thư viện dùng chung cho nhiều ứng dụng. Điều này sẽ
giúp hệ thống tiết kiệm được tài nguyên cũng như thời gian xử lý.

5.Sử dụng các chương trình xử lý văn bản:
Chương trình xử lý văn bản là một trong những chương trình rất cần thiết đối với
người sử dụng. Linux cung cấp nhiều chương trình cho phép người dùng thao tác với văn bản
như vi, emacs, nroff.

6. Sử dụng giao diện cửa sổ:
Giao diện cửa sổ dùng hệ thống X Window, có giao diện như hệ điều hành Windows.
Với hệ thống này người dùng rất thuận tiện khi làm việc trên hệ thống. X window System
hay còn gọi tắt là X được phát triển tại viện Massachusetts Institute of Technology. Nó được
phát triển để tạo ra môi trường làm việc không phụ thuộc phần cứng. X chạy dưới dạng
client-server. Hệ thống X window hoạt động qua hai bộ phận:
- Phần server còn gọi là X server
- Phần client được gọi là x window manager hay desktop environment.
X server sử dụng trong hầu hết các bản phân phối của Linux là Xfree86.
Client sử dụng thường là KDE (K Desktop Environment) và GNOME (GNU Network
Object Model Environment)
D
ịch vụ Samba sử dụng tài nguyên đĩa, máy in với Windows.
NHÓM 7 GVHD: Thầy Trần Quốc Hùng


Đề tài: Nghiên cứu hệ điều hành Linux Trang 24
Tên Samba xuất phát từ giao thức Server Message Block (SMB) mà Windows sử
dụng để chia sẻ tập tin và máy in. Samba là chương trình sử dụng giao thức SMB chạy trên
Linux. Sử dụng Samba bạn có thể chia sẻ tập tin và máy in với các máy Windows.



7. Network Information Service (NIS)
Dịch vụ NIS cho phép chia sẻ các tập tin password và group trên mạng. NIS là một hệ
thống cơ sở dữ liệu dạng client-server, chứa các thông tin của người dùng và dùng để chứng
thực người dùng. NIS xuất phát từ hãng Sun Microsystems với tên là Yellow Pages.

8. Lập lịch hoạt động chương trình, ứng dụng
Chương trình lập lịch trong Linux xác định các ứng dụng, script thực thi theo một sự
sắp xếp của người dùng như: at, cron, batch.

9. Các tiện ích sao lưu dữ liệu:
Linux cung cấp các tiện ích như tar, cpio và dd để sao lưu và backup dữ liệu. RedHat
Linux còn cung cấp tiện ích Backup and Restore System Unix (BRU) cho phép tự động
backup dữ liệu theo lịch.

10. Hỗ trợ nhiều ngôn ngữ lập trình
Linux cung cấp một môi trường lập trình Unix đầy đủ bao gồm các thư viện chuẩn,
các công cụ lập trình, trình biên dịch, chương trình debug chương trình mà bạn có thể tìm
thấy trong các hệ điều hành Unix khác. Ngôn ngữ chủ yếu sử dụng trong các hệ điều hành
Unix là C và C++. Linux dùng trình biên dịch cho C và C++ là gcc, chương trình biên dịch
này rất mạnh, hỗ trợ nhiều tính năng. Ngoài C, Linux cũng cung cấp các trình biên dịch,
thông dịch cho các ngôn ngữ khác như Pascal, FORTRAN, Java…


PHẦN 3:MÔ HÌNH MẠNG CLIENT-SERVER TRONG LINUX

I. Lập kế hoạch và đi dây:

1. Lập kế hoạch:
-Ba máy sẽ cài hệ điều hành Linux trong đó:
Máy 1 sẽ cài hệ điều hành Linux Server với địa chỉ IP :192.168.1.2
Máy 2, 3 sẽ cài hệ điều hành Linux (Workstation) với địa chỉ
IP :192.168.1.3; 192.168.1.4
-S
ử dụng chung domain là : linux.com

NHÓM 7 GVHD: Thầy Trần Quốc Hùng

Đề tài: Nghiên cứu hệ điều hành Linux Trang 25







2. Sơ đồ đi dây:



II. Cài đặt:
1. Chuẩn bị cài đặt:
- Yêu cầu về phần cứng :
Custom Installation (minimum) :520MB

Server (minimum) :870MB
Personal Desktop :1.9GB
Workstation :2.4GB
Custom Installation (everything) :5.3GB
2M cho card màn hình nếu muốn sử dụng mode đồ họa.
- Vào chế độ boot, chỉnh cho máy chạy từ CD_ROM.

2. Cài đặt Linux Server:
Sau khi cho máy chạy từ ổ CD_ROM, bỏ đĩa vào và bắt đầu cài đặt :



×