bao cao linux

26
TRƯỜNG ĐHSP HÀ NỘI 2 KHOA CNTT --------- BÁO CÁO BÀI TẬP LỚN MÔN KIẾN TRÚC MÁY TÍNH “HỆ ĐIỀU HÀNH LINUX” Giảng viên: Trần Tuấn Vinh Sinh viên: Nguyễn Thị Thanh Nhã Lớp: K35 CNTT 1. Linux là gì? Linux là hệ điều hành. Về mặt nguyên tắc hệ điều hành cũng là một software; nhưng đây là một software đặc biệt – được dùng để quản lý, điều phối - - 1

Upload: thanhnhasp2

Post on 30-Jun-2015

343 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: BAO CAO LINUX

TRƯỜNG ĐHSP HÀ NỘI 2

KHOA CNTT

---------

BÁO CÁO

BÀI TẬP LỚN MÔN KIẾN TRÚC MÁY TÍNH

“HỆ ĐIỀU HÀNH LINUX”

Giảng viên: Trần Tuấn Vinh

Sinh viên: Nguyễn Thị Thanh Nhã

Lớp: K35 CNTT

1. Linux là gì?

Linux là hệ điều hành. Về mặt nguyên tắc hệ điều hành cũng là một

software; nhưng đây là một software đặc biệt – được dùng để quản lý, điều

phối các tài nguyên (resource) của hệ thống (bao gồm cả hardware và các

software khác). Linux còn được gọi là Open Source Unix (OSU).Ngoài ra

linux cũng là tên hạt nhân của hệ điều hành. Nó có lẽ là một ví dụ nổi tiếng

nhất của phần mềm tự do và của việc phát triển mã nguồn mở.

2. Lịch sử hình thành và phát triển của hệ điều hành Linux

Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc

ông còn là một sinh viên của Đại học Helsinki tại Phần Lan. Lunix phát triển

- -1

Page 2: BAO CAO LINUX

dựa trên hệ điều hành Minix(HĐH được thiết kế để chạy trên các bộ vi xử lý

8086 của Intel). Một hệ điều hành có cấu trúc tương tự Unix với các chức

năng tối thiểu được dùng trong dạy học.

Khởi đầu, Linux được phát triển cho dòng vi xử lý 386, hiện tại hệ

điều hành này hỗ trợ một số lượng lớn các kiến trúc vi xử lý, và được sử

dụng trong nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu

máy tính và các thiết bị nhúng như là các máy điện thoại di động.

Hiện nay, Linux là một hệ điều hành với mã nguồn mở (Open Source)

và miễn phí (free) dưới bản quyền của tổ chức GNU (Gnu’s Not Unix).

Linux đã có được sự hỗ trợ bởi các công ty lớn như IBM và Hewlett-

Packard, đồng thời nó cũng bắt kịp được các phiên bản Unix độc quyền và

thậm chí là một thách thức đối với sự thống trị của Microsoft Windows

trong một số lĩnh vực. Sở dĩ Linux đạt được những thành công một cách

nhanh chóng là nhờ vào các đặc tính nổi bật so với các hệ thống khác: chi

phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix độc

quyền) và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows)

cũng như là các đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung

cấp. Một đặc tính nổi trội của nó là được phát triển bởi một mô hình phát

triển phần mềm nguồn mở hiệu quả.

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ộ

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ự định của mình về Linux.

- -2

Page 3: BAO CAO LINUX

1/1992, Linus cho ra version 0.12 với shell và C compiler. Linus

không cần Minix nữa để recompile HDH của mình. Linus đặt tên HDH của

mình là Linux.

1994, phiên bản chính thức 1.0 được phát hành.

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 platform. Đến hôm nay, cuối 2001, phiên

bản mới nhất của Linux kernel là 2.4.20, có khả năng điều khiển các máy đa

bộ vi xử lý ( hiện tại Linux hỗ trợ máy tính có tối đa 16 CPUs) và rất nhiều

các tính năng khác.

3. Sơ bộ về hệ thống Linux.

Hệ thống Linux gồm ba thành phần và shell:

- Nhân hệ điều hành chịu trách nhiệm duy trì các đối tượng trừu

tượng quan trọng của hệ điều hành bao gồm bộ nhớ ảo và qua trình. Các

modunle chương trình trong nhân được đặc quyền trong hệ thống, bao gồm

đặc quyền thường trực ở bộ nhớ trong.

- Thư viện hệ thống xác định một tập chuẩn các hàm đề các ứng dụng

tương tác với nhân và thi hành nhiều chức năng của hệ thống nhưng không

cần các đặc quyền của module thuộc nhân.

- Tiện ích hệ thống là các chương trình thi hành các nhiệm vụ quản lý

riêng rẽ, chuyên biệt. Một số tiện ích hệ thống được gọi ra chỉ một lần đê

khởi động và cấu hình phương tiện hệ thông, một số tiện ích khác, theo thuất

ngữ UNIX được gọi là trình chạy ngầm, có thể chạy một cách thường xuyên,

điều khiển các bài toán như hưởng ứng các kết nối mạng, tiếp nhận yêu cầu

logon, cập nhập các file log

Nhân

- -3

Page 4: BAO CAO LINUX

- Nhân (còn được gọi là hệ lõi) của Linux, là một bộ các môdun

chương trình có vai trò điều khiển các thành phần của máy tính, phân phối

các tài nguyên cho người dùng (các quá trình người dùng).

- Nhân chính là cầu nối giữa chương trình ứng dụng với phần cứng.

- Một trong những chức năng quan trọng nhất của nhân là bài toán lập

lịch, tức là hệ thống cần phân chia CPU cho nhiều quá trình hiện thời cùng

tồn tại.

Shell

- Người dùng mong muốn máy tính thực hiện một công việc nào đó

thì cần gõ lệnh thể hiện yêu cầu của mình đê hệ thống đáp ứng yêu cầu đó.

Shell là bộ dịch lệnh và hoạt động như một kết nối trung gian giữa nhân với

người dùng: Shell nhận dòng lệnh do người dùng đưa vào và từ dòng lệnh

nói trên nhân tách ra các bộ phận để nhận được một hay một số lệnh tương

ứng với các đoạn văn bản có trong dòng lệnh.

- Linux có hai loại shell phổ biến là C-shell (dấu nhắc %) và Bourne-

shell (dâu nhắc $) và mốt số shell phát triển từ các shell nói trên.

+ C-shell có tên gọi như vậy là do cách viết lệnh và chương

trình lệnh Linux tựa như ngôn ngữ C

+ Bourne-shell mang tên tác giả của nó là Steven Bourne.

+ Một số lệnh trong C-shell không còn có trong Bourne-shell

và vì vậy để nhận biết hệ thống đang làm việc với shell, chúng ta gõ lệnh:

#alias, nếu một danh sách xuất hiện thì shell đang sử dụng là C-shell; ngược

lại nếu xuất hiện thông báo “command not found” thì shell đó là Bourne-

shell.

4. Tổ chức hệ thống

4.1 Hệ thống tập tin

- -4

Page 5: BAO CAO LINUX

Một trong những đặc điểm quan trọng của Linux là nó hỗ trợ nhiều hệ

thống tập tin. Điều này làm cho nó rất linh động và có thể cùng tồn tại với

nhiều hệ điều hành khác. Từ những phiên bản đầu tiên, Linux đã hỗ trợ 15

loại tập tin : ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp,

iso9660, sysv, hpfs, affs và ufs.

Trong Linux, cũng như Unix, hệ thống tập tin được truy xuất thông

qua một cấu trúc cây thừa kế đơn thay vì là các thiết bị xác định (như tên ổ

đĩa hoặc số hiệu của ổ đĩa). Linux thêm những hệ thống tập tin mới vào cây

này khi nó được thiết lập (mount). Tất cả hệ thống tập tin được thiết lập vào

một thư mục và được gọi là thư mục thiết lập. 

Khi một đĩa được khởi tạo, trên đĩa được chia thành nhiều partitions.

Mỗi partition có một hệ thống tập tin. Hệ thống tập tin của Linux coi những

thiết bị khối một cách đơn giản như là một tập hợp tuyến tính các khối mà

không quan tâm đến tổ chức vật lạ trên đĩa. Chương trình điều khiển thiết bị

khối chịu trách nhiệm ánh xạ khối cần đọc thành vị trí vật lý cụ thể trên đĩa. 

Trong hệ thống tập tin của Linux, người sử dụng không quan tâm đến

những khác biệt của chúng trên những thiết bị vật lý khác nhau. Hệ thống

tập tin không chỉ trên hệ thống cục bộ mà còn là những ổ đĩa từ xa trên

mạng. Ví dụ một hệ thống tập tin của Linux :

A E boot etc lib opt tmp

C F cdrom fd proc root var

D bin dev home mnt lost+found .....

Hệ thống tập tin đầu tiên Linux hỗ trợ là Minix cho phép tập tin có tên

tối đa là 14 ký tự và kích thước không vượt quá 64Mb. Hệ thống tập tin đặc

thù đầu tiên của Linux là 1 hệ thống tập tin mở rộng (EXT) được giới thiệu

vào tháng 4/1992, hệ thống này không hiệu quả nên sau đó vào năm 1993 1

hệ thống tập tin mở rộng thế hệ 2 được thêm vào.

- -5

Page 6: BAO CAO LINUX

Có một điểm quan trọng khi hệ thống tập tin EXT được đưa vào

Linux. Hệ thống tập tin thật bị tách khỏi hệ điều hành và các dịch vụ hệ

thống bằng một tầng giao tiếp gọi là hệ thống tập tin ảo VFS. VFS cho phép

Linux hỗ trợ nhiều loại hệ thống tập tin khác nhau, mỗi loại được xem như

là một giao tiếp phần mềm với VFS. Tất cả chi tiết của hệ thống tập tin được

chuyển đổi sao cho chúng xuất hiện như nhau đối với phần còn lại của hạt

nhân Linux và các chương trình thi hành trong hệ thống. Lớp VFS cho phép

thiết lập một cách trong suốt nhiều hệ thống tập tin khác nhau cùng lúc. VFS

được cài đặt sao cho việc truy xuất các tập tin của nó nhanh nhất có thể và

nó cũng đảm bảo tính chính xác khi truy xuất.

VFS đặt các thông tin của mỗi hệ thống tập tin vào bộ nhớ mỗi khi

chúng được thiết lập và sử dụng. Các cấu trúc dữ liệu mô tả tập tin và thư

mục truy xuất được tạo và hủy thường trực. Khi các khối được truy xuất,

chúng được đặt vào vùng đệm. Vùng đệm không chỉ lưu giữ dữ liệu mà còn

hỗ trợ quản lý giao tiếp không đồng bộ với bộ phận điều khiển thiết bị khối.

Hệ thống tập tin mở rộng thế hệ 2 EXT2

Là hệ thống tập tin thành công nhất của Linux. Hệ thống này, cũng

như các hệ thống tập tin khác, được xây dựng trên cơ sở các khối dữ liệu.

Các khối dữ liệu này có cùng kích thước và mọi kích thước tập tin được làm

tròn thành một số nguyên các khối này.

EXT2 định nghĩa hệ thống tập tin bằng cách mô tả mỗi tập tin trong

hệ thống bằng một cấu trúc I-node duy nhất và mỗi inode có một số để định

danh. Các I-node này được đặt trong bảng I-node. Các thư mục trong EXT2

được xem như những tập tin đặc biệt chứa những con trỏ đến các i-node của

các entry.

Hình 15.1 cho thấy tổng quan của hệ thống tập tin EXT2. Hệ thống

này chia những partitions mà nó quản lý vào các Block Group.

- -6

Page 7: BAO CAO LINUX

4.2 Điều khiển thiết bị

Như đã đề cập trong phần quản lý nhập xuất, một trong những mục

tiêu chính của hệ điều hành là giúp cho người sử dụng độc lập với thiết bị.

Trong Linux, các thiết bị phần cứng đều được xem như là các tập tin thông

thường : chúng có thể được mở, đóng , đọc , ghi, và sử dụng cùng những lời

gọi hệ thống để thao tác. Mọi thiết bị trong hệ thống đều được biểu diễn bởi

các tập tin thiết bị, ví dụ đĩa IDE đầu tiên của hệ thống được biểu diễn bởi

/dev/hda.

Linux ánh xạ tập tin thiết bị vào các lời gọi hệ thống. Linux hỗ trợ ba

loại thiết bị là : ký tự, khối và mạng. Có nhiều chương trình điều khiển thiết

bị khác nhau trong hạt nhân của Linux nhưng chúng cùng chia sẻ những

thuộc tính chung :

+ Mã nguồn của hạt nhân : chương trình điều khiển thiết bị là

một phần của hạt nhân và cũng như những đoạn mã nguồn khác nếu nó bị

lỗi nó có thể đe dọa nghiêm trọng đến hệ thống.

+ Chương trình điều khiển thiết bị cung cấp một giao tiếp chuẩn

với hạt nhân của Linux. Chúng sử dụng những dịch vụ chuẩn từ hạt nhân

này.

- -7

Page 8: BAO CAO LINUX

Hầu hết các chương trình điều khiển thiết bị của Linux được nạp như

những đơn thể của hạt nhân khi có yêu cầu và được gỡ ra khi nó không còn

được sử dụng nữa.

Khi khởi động hệ thống mỗi chương trình điều khiển thiết bị được

khởi tạo và nó sẽ tìm thiết bị phần cứng mà nó sẽ điều khiển.

Linux sử dụng cơ chế DMA và sử dụng một vector cấu trúc

dma_chan để quản lý các kênh DMA (mỗi kênh có một vector).

Mỗi lớp điều khiển thiết bị: kí tự, khối, mạng cung cấp những giao

tiếp chung với hạt nhân. Khi một thiết bị được khởi tạo, thanh ghi điều khiển

thiết bị bên trong hạt nhân của Linux được thêm một entry trong vector

chrdevs của cấu trúc devive_struct. Một định danh(id) được xác định cho

vector này và là cố định. Mỗi entry trong vector chrdevs, một device_struct

gồm hai phần tử : một con trỏ đến tên của thanh ghi điều khiển thiết bị và

một con trỏ tới khối của tập tin thao tác. Khối của tập tin thao tác này là địa

chỉ của những thủ tục trong chương trình điều khiển thiết bị mà chúng kiểm

soát những thao tác như mở, đóng, đọc, ghi. Nội dung của /proc/devices cho

các thiết bị ký tự được lấy từ vector chrdevs.

Các thiết bị khối được truy xuất như những tập tin. Linux quản lý các

thanh ghi thiết bị khối bằng vector blkdevs, và tương tự như vector chrdevs

mỗi entry của nó là các cấu trúc device_struct nhưng có hai loại thiết bị

khối : SCSI và IDE. Mỗi chương trình điều khiển thiết bị khối phải cung cấp

một giao tiếp với vùng đệm cũng như những thao tác tập tin thôn thường.

Cấu trúc blk_dev_struct bao gồm địa chỉ của các thủ tục được yêu cầu và

một con trỏ đến những cấu trúc dữ liệu cần thiết, mỗi cấu trúc này sẽ đại

diện cho một yêu cầu từ vùng đệm cho những điều khiển đọc hoặc ghi một

khối dữ liệu.

- -8

Page 9: BAO CAO LINUX

Trong Linux, mỗi thiết bị mạng là một thực thể có thể nhận hoặc gửi

gói dữ liệu. Mỗi thiết bị mạng được biểu diễn bằng một cấu trúc device. Các

chương trình điều khiển thiết bị mạng sẽ ghi nhận những thiết bị mà chúng

sẽ điều khiển trong quá trình khởi tạo mạng lúc khởi động hệ thống. Cấu

trúc device chứa những thông tin về các thiết bị và địa chỉ của các hàm hỗ

trợ những nghi thức và dịch vụ mạng khác nhau. Nhữõng hàm này chủ yếu

tập trung vào việc chuyển dữ liệu sử dụng các thiết bị mạng. các thiết bị sử

dụng các cơ chế hỗ trợ mạng chuẩn để chuyển dữ liệu nhận được cho lớp

nghi thức thích hợp. Tất cả các gói dữ liệu chuyển và nhận được biểu diễn

bởi cấu trúc sk_buff, đây là một cấu trúc linh động cho phép các tiêu đề

(header) nghi thức mạng có thể dể dàng thêm vào hoặc loại bỏ.

Cấu trúc device lưu những thông tin về thiết bị mạng : tên, thông tin

về đường truyền, cờ trạng thái giao tiếp(mô tả các thuộc tính và khả năng

của các thiết bị mạng), thông tin về nghi thức, hàng đợi gói tin(đây là hàng

đợi của các gói sk_buff chờ chuyển dữ liệu trên thiết bị mạng đó), các hàm

hỗ trợ (mỗi thiết bị cung cấp một tập hợp các thủ tục chuẩn được gọi bởi lớp

nghi thức).

4.3 Quản lý tiến trình

Mỗi tiến trình trong Linux được biểu diễn bằng một cấu trúc dữ liệu

task_struct (task có nghĩa là tiến trình trong Linux). Linux sử dụng task

vector để quản lý các con trỏ đến các task_struct, mặc định là có 512 phần

tử. Khi một tiến trình được tạo ra, một task_struct mới được cấp phát trong

bộ nhớ và được thêm vào vector task. Linux hỗ trợ hai loại tiến trình là loại

bình thường và loại thời gian thực. Cấu trúc task_struct gồm những trường

như sau : trạng thái (thi hành, chờ, ngưng, lưng chừng), thông tin lập lịch,

định danh, thông tin liên lạc giữa các tiến trình, liên kết, định thời gian, hệ

thống tập tin, bộ nhớ ảo, ngữ cảnh.

- -9

Page 10: BAO CAO LINUX

Trong Linux cũng như Unix, chương trình và lệnh được thực hiện

theo cơ chế thông dịch. Bộ thông dịch được gọi là shell. Linux hỗ trợ nhiều

loại shell như sh, bash, tcsh. Tập tin thi hành có nhiều dạng, dạng được sử

dụng thông dụng nhất trong Linux là EFL, ngoài ra Linux cũng có thể hiểu

được nhiều dạng tập tin khác.

Các cơ chế thông tin liên lạc giữa các tiến trình được sử dụng là tín

hiệu (SIGNALS), đường ống (PIPE), sockets, semaphore và bộ nhớ chia sẻ.

Có một tập hợp các tín hiệu được định nghĩa trước, các tính hiệu này

có thể được phát sinh bởi hạt nhân hoặc những tiến trình khác trong bộ nhớ.

Linux cài đặt các tín hiệu trong task_struct. Không phải mọi tiến trình trong

hệ thống có thể gửi tín hiệu đến mọi tiến trình khác. Tín hiệu được phát sinh

bằng cách thiết lập một bit thích hợp trong trường signal của cấu trúc

task_struct. Tín hiệu không xuất hiện cho tiến trình ngay khi nó được tạo mà

phải chờ đến khi tiến trình được thực hiện trở lại.

Trong Linux cơ chế đường ống cài đặt sử dụng hai cấu trúc file trỏ

đến cùng inode VFS tạm thời xác định một trang vật lý trong bộ nhớ. Khi

tiến trình ghi thực hiện việc ghi vào đường ống, các byte sẽ được chép vào

trang dữ liệu chia sẻ. Linux phải đồng bộ quá trình truy xuất trong đường

ống. Tiến trình ghi sử dụng các hàm thư viện ghi chuẩn.

Các cơ chế socket, semaphores và bộ nhớ chia sẻ của Linux gần giống

với hệ thống Unix System V.

4.4 Quản lý bộ nhớ

Linux hỗ trợ hệ thống chia sẻ bộ nhớ IPC (Inter Process

Communication- thông tin liên lạc giữa các tiến trình) của Unix System V.

Linux sử dụng bộ nhớ ảo và cơ chế phân trang. Trên hệ thống Alpha

AXP một trang có kích thước 8Kb và trên hệ thống Intel x86 một trang có

kích thước 4Kb. Chiến lược thay trang được áp dụng là LRU.

- -10

Page 11: BAO CAO LINUX

Linux có số cấp bảng trang tùy vào các nền khác nhau (Alpha 3, Intel

x86 2). Bảng trang sẽ được chuyển thành các tiến trình đặc thù trên các nền

khác nhau, điều này giúp cho việc thao tác trên bảng trang không lệ thuộc

vào các nền này.

Linux sử dụng thuật toán Buddy để thực hiện việc cấp phát và thu hồi

các khối của trang. ( 1 khối = 1, 2, hoặc 4 trang…)

5. Các ứng dụng trên linux

Các ứng dụng văn phòng & multimedia

Cùng với thời gian, hệ điều hành Linux ngày càng được hoàn thiện,

nhiều hãng sản xuất cùng với các lập trình viên đã xây dựng được một kho

thư viện phần mềm khổng lồ đáp ứng phần lớn nhu cầu của người dùng.

Nếu như trong Windows có bộ Microsoft Office thì trong Linux có

những bộ Office khác như KOffice hoặc bộ Start Office của hãng Sun

Microsystem được phân phối miễn phí .

- -11

Page 12: BAO CAO LINUX

Các ứng dụng giải trí

Ngoài các ứng dụng văn phòng ra, Linux cũng có khá nhiều games phục vụ nhu cầu thư giãn và giải trí của người dùng.

- -12

Page 13: BAO CAO LINUX

 

- -13

Page 14: BAO CAO LINUX

Hệ điều hành mạng và các ứng dụng mạng

Có thể nói các ứng dụng mạng là tập hợp những ứng dụng nổi bật

nhất của hệ điều hành Linux. Những khả năng mà các ứng dụng mạng trên

Linux có thể thực hiện được làm cho hệ điều hành này trở nên vượt trội hơn

so với Windows.

Linux cho phép người dùng có thể cấu hình 1 server với đầy đủ các

ứng dụng cơ bản nhất của Internet : Domain Name Service (DNS), Web

Server, Web Proxy Server, Routing, SMTP Server, Pop3 Server, Firewall.

Các ứng dụng Web

Với sự bùng nổ các ứng dụng trên Internet , hệ điều hành Linux hỗ trợ

một môi trường lý tưởng cho các server ứng dụng.

- -14

Page 15: BAO CAO LINUX

Các hãng phần mềm nổi tiếng đều nghiên cứu để làm sao có thể cài

các ứng dụng của họ lên Linux. Tiêu biểu là các ứng dụng sau:Oracle

Internet Application Server 9i ,IBM WebSphere.

Các ứng dụng cơ sở dữ liệu

Các ứng dụng cơ sở dữ liệu là không thể thiếu trong lãnh vực CNTT

cũng như các ngành khác. Một khi đã nói đến sự tin học hoá trong mọi lãnh

vực của đời sống thì dù ít, dù nhiều cũng phải liên quan đến cơ sở dữ liệu .

Linux hỗ trợ khá mạnh các hệ quản trị cơ sở dữ liệu từ miễn phí đến

các hệ chuyên nghiệp như :Postgres SQL,MySQL,Oracle Database Server

9i, IBM DB2.

Các ngôn ngữ lập trình

Hệ điều hành Linux được viết lại hoàn toàn từ đầu bằng ngôn ngữ C

nhằm tránh vấn đề bản quyền của Unix . Do đó ngôn ngữ lập trình C được

hỗ trợ mạnh mẽ và khá đầy đủ cho việc phát triển các ứng dụng mạng.

Tuy nhiên ngôn ngữ C không phải là sự lựa chọn duy nhất cho việc

lập trình trên Linux. Có nhiều ngôn ngữ lập trình khác cũng được hỗ trợ bởi

Linux được liệt kê dưới đây:

Ada, C, C++, Forth, Fortran, Icon, Java, Lisp, Modular 2, Modular

3,Oberon,Objective C, Pascal, Perl , Prolog, Python, Smalltalk, SQL,

Tck/Tl, Shell.

6. Ưu, nhược điểm của hệ điều hành Linux

6.1 Ưu điểm

6.1.1 Hoàn toàn miễn phí.

Tuy vẫn phải trả một khoảng tiền nhất định nào đó, nhưng số

tiền đó chi cho tài liệu hướng dẫn, driver, hỗ trợ kỹ thuật . . . chứ không phải

chi phí về bản quyền sử dụng. Nếu không muốn tốn tiền, bạn có thể tải về

- -15

Page 16: BAO CAO LINUX

Linux và các ứng dụng ngay trên Web của các nhà phân phối mà chẳng mất

đồng nào.

6.1.2 Uyển chuyển.

Các nhà phân phối Linux có thể chỉnh sửa môi trường hoạt

động của Linux cho phù hợp với yêu cầu riêng của từng đối tượng người

dùng.

6.1.3 Độ an toàn cao.

Vì là phần mềm mã nguồn mở nên khi có lỗi phần mềm thì chỉ

sau 24h là đã có thể khắc phục được. Người dùng có thể tải về bản sửa lỗi có

săn trên mạng.Mặt khác, các tay viết Virus thường không coi Linux là đối

tượng của họ.

6.1.4 Hướng dẫn sử dụng khá phong phú.

6.1.5 Hệ điều hành chạy thống nhất trên mọi hệ thống phần

cứng. Cho dù đến nay có nhiều phiên bản Linux được nhiều nhà phân phối

khác nhau phát hành nhưng tất cả đều hoạt động bình thường trên các loại

CPU khác nhau của Intel, từ Intel 486 đến các Pentium mới nhất.

6.2 Nhược điểm

6.2.1 Người dùng phải thành thạo.

Trình tự cài đặt tự động, giao diện thân thiện với người dùng

chỉ giảm nhẹ phần nào sự phức tạm trong quá trình cài đặt phần mềm, tinh

chỉnh màn hình, card âm thanh, card mạng, . . . Đôi khi những công việc này

bắt buộc bạn phải thao tác từ những dòng lệnh cực kỳ "bí hiểm", nhàm chán

và rất dễ nhầm lẫn (Trong khi HĐH Windows thì chỉ cần theo thông báo rồi

Next. . .next . . . I gree . . . next ,. . . . Finish là xong).

6.2.2 Phần cứng ít được hỗ trợ.

Tuy đã cố gắng rất nhiều, nhưng bộ Linux của họ vẫn chưa có

đủ trình điều khiển cho tất cả các thiết bị phần cứng có trên thị trường.

- -16

Page 17: BAO CAO LINUX

6.2.3 Phần mềm ứng dụng chưa tinh xảo.

Các phần mềm ứng dụng trên Linux rất sẵn và không mất tiền,

nhưng đa số không tiện dụng, không phong phú. Nhiều phần mềm ứng dụng

thiếu các chức năng thông dụng, đặc trưng mà người dùng đã quen với

Microsofr Office.

6.2.4 Thiếu chuẩn hóa.

Do Linux toàn miễn phí nên bất cứ ai thích đều có thể tự mình

đóng gói, phân phối theo các của mình. Có hàng chục nhà phân phối

khácnhau trên thị truờng, người dùng trước khi cài đặt thường phải tự mình

so sánh để tìm ra sản phẩm thích hợp.

6.2.5 Chính sách hỗ trợ khách hàng thiếu nhất quán và tốn

kém.

Mặc dù không phải trả bản quyền, nhưng người dùng vẫn phải

trả phi cho mỗi thắc mắc cần được giải đáp từ nhà phân phối, cho dù đó chỉ

là gọi qua điện thoại.

Kết luận: Trên đây là một số vấn đề cơ bản và ưu nhược

điểm của hệ điều hành Linux .Vậy chúng ta nên sử dụng hệ điều hành nào?

Linux hay Windows? Đây là một câu hỏi khó, hiện nay vẫn còn rất nhiều

tranh cãi xung quanh vấn đề này. Sử dụng hệ điều hành Linux hay windows

còn tùy thuộc vào nhu cầu và mục đích của bạn là gì. Hy vong các bạn có

thể tự tìm cho mình một hệ điều hành phù hợp với bản thân.

- -17