MÃ NGUỒN MỞ

Giảng viên: ThS. Phan Thanh Toàn

1 1

v1.0015106225

BÀI 2 GIỚI THIỆU HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ

2

v1.0015106225

Giảng viên: ThS. Phan Thanh Toàn

MỤC TIÊU BÀI HỌC

• Trình bày được các đặc trưng cơ bản của hệ

điều hành mã nguồn mở.

• Phân biệt được hệ điều hành mã nguồn mở

với hệ điều hành thương mại.

3

v1.0015106225

Liệt kê được một số hệ điều hành mã nguồn mở thông dụng.

CÁC KIẾN THỨC CẦN CÓ

Để hiểu rõ bài này, yêu cầu sinh viên cần có các kiến thức cơ bản liên quan đến các môn học sau:

• Công nghệ phần mềm;

4

v1.0015106225

• Nguyên lí hệ điều hành.

HƯỚNG DẪN HỌC

• Đọc tài liệu và tóm tắt những nội dung chính

của từng bài.

Luôn liên hệ và lấy ví dụ thực tế khi học đến từng vấn đề và khái niệm.

• Thực hành trực tiếp trên hệ điều hành Linux và một số phần mềm mã nguồn mở như Open office, PHP…

5

v1.0015106225

Làm bài tập và luyện thi trắc nghiệm theo yêu cầu từng bài.

CẤU TRÚC NỘI DUNG

2.1 Giới thiệu các hệ điều hành mã nguồn mở

2.2 Phần mềm dịch vụ cho máy chủ Linux

6

v1.0015106225

2.3 Phần mềm ứng dụng nguồn mở trên Linux

2.1. GIỚI THIỆU CÁC HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ

2.1.1. Giới thiệu Unix và Linux

2.1.2. Các đặc điểm chung của Unix và Linux

7

v1.0015106225

2.1.3. Các thành phần của Unix và Linux

2.1.1. GIỚI THIỆU UNIX VÀ LINUX

• Lịch sử hệ điều hành Unix

 Hệ điều hành UNIX ra đời cuối những năm 1960, khởi đầu từ một dự án do Ken Thompson phụ trách ở Bell Labs và sau đó trở thành hệ điều hành được sử dụng rộng rã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

8

v1.0015106225

(BSD) của Đại học Berkeley.

2.1.1. GIỚI THIỆU UNIX VÀ LINUX (tiếp theo)

• Hai nhánh chính UNIX: Một nhánh từ AT&T và một nhánh từ AT&T thông qua

University of California tại Berkeley.

• Các nhánh chính ngày nay là AIX từ IBM, HP-UX từ HP và Solaris từ Sun.

• Kể từ thời điểm UNIX được phát triển lần đầu, đã xuất hiện nhiều thế hệ sau thậm

chí là những bản đột biến:

 Một số thế hệ đã thay đổi căn bản so với phiên bản gốc như Berkeley Software

Distribution (BSD) hay Linux;

 Một số khác, thậm chí còn giữ lại cả những đoạn code của phiên bản gốc.

Linus Tovalds (một sinh viên Phần Lan) đưa ra nhân (phiên bản đầu tiên) cho hệ điều hành Linux vào tháng 8 năm 1991.

• Ngày 14/3/1994, hệ điều hành Linux phiên bản 1.0 được phổ biến.

• Tháng 3 năm 1995, nhân 1.2 được phổ biến.

• Tháng 6 năm 1996, nhân Linux 2.0 được phổ biến.

9

v1.0015106225

• Có nhiều phiên bản hệ điều hành Linux ra đời.

2.1.2. CÁC ĐẶC ĐIỂM CHUNG CỦA HỆ ĐIỀU HÀNH UNIX VÀ LINUX

Đa nhiệm có nghĩa là nhiều tiến trình có thể chạy cùng một thời điểm.

Tiến trình không phải là chương trình.

Tính đa nhiệm

Có thể chạy nhiều tiến trình cho cùng một chương trình tại một thời điểm.

10

v1.0015106225

Hệ điều hành đa nhiệm: Windows 9x, Windows 2000, Windows XP.

2.1.2. CÁC ĐẶC ĐIỂM CHUNG CỦA HỆ ĐIỀU HÀNH UNIX VÀ LINUX (tiếp theo)

Nhiều người sử dụng có thể cùng truy xuất vào hệ thống tại một thời điểm.

Cần có khái niệm tài khoản sử dụng nhưng có nhiều tài khoản không đồng nghĩa với đa người sử dụng.

Tính đa người sử dụng Một tiến trình tạo ra thuộc quyền sở hữu người đã tạo ra tiến trình đó.

Các tiến trình có thể thuộc quyền sở hữu của nhiều người khác nhau.

11

v1.0015106225

Hệ điều hành nào là đa người sử dụng: Windows 2000, Windows XP.

2.1.2. CÁC ĐẶC ĐIỂM CHUNG CỦA HỆ ĐIỀU HÀNH UNIX VÀ LINUX (tiếp theo)

Hạt nhân quản lí các nhiệm vụ ở mức thấp.

Module hoá về kiến trúc

Tầng ứng dụng cung cấp các tiện ích sử dụng đối với người sử dụng.

Tính module

Cung cấp nhiều công cụ nhỏ, chuyên dụng nhưng đa dạng để hỗ trợ công việc người sử dụng.

Module hoá về ứng dụng

12

v1.0015106225

Không cung cấp các công cụ có tính đa năng nhưng người sử dụng làm được rất nhiều việc phức tạp bằng cách kết hợp các công cụ nhỏ với nhau.

2.1.3. CÁC THÀNH PHẦN CỦA HỆ ĐIỀU HÀNH UNIX VÀ LINUX

Shell Kernel Utilities • Nhân (Kernel): Thực hiện quản lí bộ nhớ, các yêu cầu nhập xuất, lên lịch trình chạy chương trình. Về mặt kĩ thuật mà nói, kernel chính là hệ điều hành. Nó cung cấp kết nối phần mềm cơ sở tới phần cứng.

Filesystem

• Shell và giao diện người dùng (GUI): Shell cơ sở của UNIX cung cấp giao diện dòng lệnh để nhập lệnh chạy. Lệnh này được phiên dịch bởi shell thành lệnh mà kernel hiểu được.

• Các tiện ích hệ thống tích hợp sẵn: là các chương trình cho phép người dùng thực hiện các tác vụ. Các tiện ích cung cấp các chức năng giao diện người dùng cơ sở cho một hệ điều hành, tuy nhiên lại quá phức tạp để xây dựng trong shell. Ví dụ các tiện ích là các chương trình cho phép xem nội dung thư mục, di chuyển và sao chép file, xóa file…

13

v1.0015106225

• Phần mềm ứng dụng và các tiện ích: Đây không phải là những thành phần của hệ điều hành. Chúng là những chương trình bổ sung được gắn kèm trong gói cài đặt hệ điều hành hoặc nằm tách rời. Chúng có thể là những phiên bản bổ sung cho các tiện ích cơ sở cho tới các ứng dụng thương mại.

2.1.3. CÁC THÀNH PHẦN CỦA HỆ ĐIỀU HÀNH UNIX VÀ LINUX (tiếp theo)

• Sự khác biệt của Linux và window:

 Hệ điều hành không đòi hỏi phải có giao diện đồ họa.

 Bản thân hệ điều hành (phần kernel) có kích thước nhỏ đáng kể.

 GUI (giao diện đồ họa người dùng) là một ứng dụng khác (hay một tập hợp ứng dụng) có thể cài đặt thêm và chạy đè hệ điều hành dựa trên dòng lệnh sẵn có.

 Sự khác biệt về hệ thống file

 Windows sử dụng hệ thống file FAT32 hay NTFS.

 Linux sử dụng hệ thống file ext2 hay ext3.

 Windows liệt kê tất cả các ổ đĩa tách biệt (A:, C:, D:,…) với “My Computer” ở

mức cao nhất.

 Linux (unix) bắt đầu với mức cao nhất tại “/” và các ổ đĩa được đính vào bất

14

v1.0015106225

cứ đâu ở mức dưới.

2.2. PHẦN MỀM DỊCH VỤ CHO MÁY CHỦ LINUX

Phần mềm máy chủ web (Apache)

Phần mềm cơ sở dữ liệu (MySQL và PHP)

Phần mềm máy chủ tên miền (BIND) Các phần mềm

Phần mềm máy chủ Email (Sendmail)

15

v1.0015106225

Phần mềm quản trị bảo mật mạng (OpenSSH)

2.2. PHẦN MỀM DỊCH VỤ CHO MÁY CHỦ LINUX (tiếp theo)

Phần mềm máy chủ web (Apache)

• Chức năng: đảm nhiệm việc nhận và thực hiện các yêu cầu từ các trình duyệt web.

• Apache sử dụng giao thức HTTP.

• Apache chạy trên các hệ điều hành Unix, Microsoft Windows, Novell Netware và các

hệ điều hành khác.

• Máy chủ web Apache đóng vai trò quan trọng trong quá trình phát triển WWW.

• Apache là web server số một từ năm 1996 đến nay, hiện nay chiếm 62.53% tổng thị

trường web server, hơn gấp đôi đối thủ cạnh tranh MS IIS Server (27.17%).

• Ưu điểm Apache:

 Thiết kế linh hoạt theo module;

 Ổn định;

 Bảo mật;

 Tốc độ nhanh;

 Đa nền (Multi platform);

16

v1.0015106225

 Mã nguồn mở (BSD).

2.2. PHẦN MỀM DỊCH VỤ CHO MÁY CHỦ LINUX (tiếp theo)

Phần mềm cơ sở dữ liệu (MySQL và PHP)

• MySQL

 MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được

các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.

 MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác.

 Là nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl.

 Ưu điểm:

 Tốc độ rất nhanh;

 Mạnh mẽ;

 Hỗ trợ cơ sở dữ liệu quan hệ;

 Đa người dùng, đa tiểu trình;

17

v1.0015106225

 Giấy phép mã mở (GPL).

2.2. PHẦN MỀM DỊCH VỤ CHO MÁY CHỦ LINUX (tiếp theo)

• PHP

 PHP (Personal Home Page) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở.

 Ưu điểm:

 Hiệu năng cao;

 Giao tiếp nhiều cơ sở dữ liệu;

 Có sẵn nhiều thư viện hỗ trợ web;

 Giá thành thấp;

 Dễ học và sử dụng;

 Khả chuyển;

18

v1.0015106225

 Mã nguồn mở (giấy phép PHP).

2.2. PHẦN MỀM DỊCH VỤ CHO MÁY CHỦ LINUX (tiếp theo)

Phần mềm máy chủ tên miền (BIND)

Làm nhiệm vụ chuyển đổi các tên dễ nhớ thành các địa chỉ số và ngược lại (dịch vụ tên miền).

• Berkeley Internet Name Domain (BIND) chiếm 95% của tất cả các DNS Server.

• BIND là một chương trình FOSS với giấy phép BSD.

Phần mềm máy chủ email (Sendmail)

• Chức năng Email Server: Phân phát email các đích.

• Email Server làm rất nhiều nhiệm vụ phức tạp như forward mail, gửi lại, loại bỏ mail,

điều hướng.

• Sendmail chiếm 42% thị trường mail server, MS Exchange 18%, Unix qmail 17%.

Phần mềm quản trị bảo mật mạng (OpenSSH)

• Giao thức SSH (Secure Shell) cho phép người quản trị hệ thống điều khiển server từ

xa, an toàn trong việc chặn và giải mã các thông tin truyền đi.

• OpenSSH là một FOSS theo giao thức SSH, chỉ chiếm 5% thị trường năm 2000,

19

v1.0015106225

nhưng tháng 04/2002 chiếm 66.8%.

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX

• Phần mềm văn phòng (OpenOffice)

 Trong khi phần mềm FOSS dùng cho máy chủ phát triển mạnh, thì các ứng dụng cho máy tính để bàn tương đối mới. OpenOffice dựa trên source code của Star Office trước đây, là một FOSS với các tính năng tương đương MS Office.

 Có đầy đủ chức năng về xử lí, bảng tính và trình chiếu.

 Ưu điểm: Đọc được nhiều tài liệu của MS Office.

 Mặc dù chưa có thị phần lớn trên thị trường nhưng nó được hy vọng nhiều tổ

chức sẽ sử dụng nhờ có đầy đủ tính năng, giá thành thấp.

• GIMP – trình biên tập ảnh.

• Trình duyệt FireFox.

• Ứng dụng mail: Thunder Bird.

• Ứng dụng chat: Gaim.

• Ứng dụng nén tệp 7zip.

20

v1.0015106225

• Ứng dụng chơi multimedia: VLC.

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

Sử dụng GIMP

• Download tại http://gimp.org/downloads/, Version 2.6.4

• Cài đặt từ file thực thi.

• Kiểm tra GIMP.

21

v1.0015106225

• Gỡ bỏ GIMP: Start  Control Panel  Add and Remove Programs.

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

• Hình ảnh.

 Layer (lớp) : Hình ảnh bao gồm nhiều lớp (layer) chồng lên nhau.

 Channel (kênh)

 Chế độ màu sắc;

22

v1.0015106225

 Một layer có thể có nhiều channel.

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

Sử dụng GIMP: Main Toolbox

Tool icon

Foreground/Bachground color

Tool options

Save scheme Reset

23

v1.0015106225

Load scheme Remove scheme

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

Sử dụng GIMP: Image Window

Image menu

Ruler

24

Zoom

v1.0015106225

Layer dialog  Ẩn/hiện các layer;  Chỉnh mức độ trong suốt.

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

• Tạo file ảnh mới:

 Menu File  New;

 Xác định kích thước ảnh;

 Xoay ảnh:

 Portrait;

 Lanscape.

• Mở file:

 Menu File  Open;

 Chọn file type;

25

v1.0015106225

 Xác định file ảnh.

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

• Sao lưu file ảnh:

 Menu File  Save hoặc Save as;

 Lựa chọn định dạng ảnh;

 Có thể nén ảnh.

• Xén ảnh (Crop) : Loại bỏ một phần ảnh

Crop tool

26

v1.0015106225

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

• Cắt hình với bao đóng hình dạng bất kì:

Hand-Drawn Tools

Hand-Drawn tool

27

v1.0015106225

• Co giãn hình ảnh: Image  Scale image

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

• Lật hình (Flip image) : Tools  Transform tools  Flip

• Xoay hình (Rotate) : Tools  Transform tools  Rotate

28

v1.0015106225

• Xoay hình phối cảnh: Tools  Transform tools  Perspective

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

• Vẽ đường thẳng:

 Chọn công cụ vẽ (bút vẽ) ;

 Chọn điểm khởi đầu, thả chuột, giữ Shift;

 Chọn đầu cuối, nhả Shift;

• Sử dụng Layer để tạo hình ảnh:

 Menu Layer  New Layer;

 Chọn mức độ trong suốt của layer;

 Thường dùng ghép ảnh.

• Bộ lọc (menu Filters) :

 Blur: Làm mờ ảnh;

 Noise: Làm nhiễu ảnh;

 Glass effect: Tạo hiệu ứng gương;

29

v1.0015106225

 Light effect: Tạo hiệu ứng chiếu sáng.

2.3. PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)

• Tạo hình nền trong suốt: Giữ lại phần ảnh muốn cắt, xóa toàn bộ các vùng

30

v1.0015106225

xung quanh.

TÓM LƯỢC CUỐI BÀI

Trong bài học này, chúng ta đã tìm hiểu những nội dung chính sau:

• Giới thiệu các hệ điều hành mã nguồn mở;

• Phần mềm dịch vụ cho máy chủ Linux;

31

v1.0015106225

• Phần mềm ứng dụng nguồn mở trên Linux.