Bài giảng Mã nguồn mở - Bài 2: Giới thiệu hệ điều hành mã nguồn mở 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; phần mềm ứng dụng nguồn mở trên Linux
Trang 1MÃ NGUỒN MỞ
Giảng viên: ThS Phan Thanh Toàn
Trang 2BÀI 2 GIỚI THIỆU HỆ ĐIỀU HÀNH
MÃ NGUỒN MỞ
Trang 3MỤ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
• Liệt kê được một số hệ điều hành mã nguồn
mở thông dụng
Trang 4CÁ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;
• Nguyên lí hệ điều hành
Trang 5• 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…
• Làm bài tập và luyện thi trắc nghiệm theo yêu
cầu từng bài
Trang 6CẤU TRÚC NỘI DUNG
Phần mềm dịch vụ cho máy chủ Linux
Trang 72.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
2.1.3 Các thành phần của Unix và Linux
Trang 82.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 KenThompson phụ trách ở Bell Labs và sau đó trở thành hệ điều hành được sử dụngrộ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(BSD) của Đại học Berkeley
Trang 92.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 quaUniversity 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ậmchí 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 SoftwareDistribution (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
• Có nhiều phiên bản hệ điều hành Linux ra đời
Trang 102.1.2 CÁC ĐẶC ĐIỂM CHUNG CỦA HỆ ĐIỀU HÀNH UNIX VÀ LINUX
Tính đa nhiệm
Đa nhiệm có nghĩa là nhiều tiến trình có thể chạycùng một thời điểm
Tiến trình không phải là chương trình
Có thể chạy nhiều tiến trình cho cùng một chươngtrình tại một thời điểm
Hệ điều hành đa nhiệm: Windows 9x, Windows 2000,Windows XP
Trang 112.1.2 CÁC ĐẶC ĐIỂM CHUNG CỦA HỆ ĐIỀU HÀNH UNIX VÀ LINUX (tiếp theo)
Trang 122.1.2 CÁC ĐẶC ĐIỂM CHUNG CỦA HỆ ĐIỀU HÀNH UNIX VÀ LINUX (tiếp theo)
Tính module
Hạt nhân quản lí các nhiệm vụ ởmức thấp
Tầng ứng dụng cung cấp các tiện ích sửdụng đối với người sử dụng
Cung cấp nhiều công cụ nhỏ, chuyêndụng nhưng đa dạng để hỗ trợ công việcngười sử dụng
Module hoá về kiến trúc
Module hoá về ứng dụng
Trang 132.1.3 CÁC THÀNH PHẦN CỦA HỆ ĐIỀU HÀNH UNIX VÀ LINUX
• 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
• 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
Kernel Shell Utilities
Filesystem
• 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ựchiệ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áctiệ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épfile, xóa file…
• 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ệ
Trang 142.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ệnhsẵ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
Trang 152.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)
Phần mềm máy chủ Email (Sendmail)
Phần mềm quản trị bảo mật mạng (OpenSSH)Các phần mềm
Trang 162.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;
Trang 172.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à đượccá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;
Giấy phép mã mở (GPL)
Trang 182.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;
Trang 192.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,
Trang 202.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ụngcho máy tính để bàn tương đối mới OpenOffice dựa trên source code của StarOffice 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
Trang 212.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
• Gỡ bỏ GIMP: Start Control Panel Add and Remove Programs
Trang 222.3 PHẦN MỀM ỨNG DỤNG NGUỒN MỞ TRÊN LINUX (tiếp theo)
Trang 232.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 colorTool options
Trang 242.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
Trang 252.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;
Trang 262.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
Trang 272.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
• Co giãn hình ảnh: Image Scale image
Hand-Drawn tool
Trang 282.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
• Xoay hình phối cảnh: Tools Transform tools Perspective
Trang 292.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;
Light effect: Tạo hiệu ứng chiếu sáng
Trang 302.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ùngxung quanh
Trang 31TÓ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 dungchí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;
• Phần mềm ứng dụng nguồn mở trên Linux