Bài giảng Hệ điều hành Linux (Chuẩn kiến thức)

ppt 39 trang huongle 9360
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành Linux (Chuẩn kiến thức)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_he_dieu_hanh_linux_chuan_kien_thuc.ppt

Nội dung text: Bài giảng Hệ điều hành Linux (Chuẩn kiến thức)

  1. Hệ điều hành Linux
  2. Giới thiệu chung ◼ Các khái niệm cơ bản ◼ Lịch sử phát triển Unix ◼ Hệ điều hành Linux Hạt nhân Linux Khái niệm mã nguồn mở Các bản phân phối Cài đặt hệ điều hành
  3. UNIX ◼ là một hệ điều hành đa nhiệm đa người sử dụng có tính mô đun hoá cao không phụ thuộc vào phần cứng hỗ trợ môi trường phát triển ứng dụng
  4. Kiến trúc hệ thống Giao diện Người sử dụng Ứng dụng (shells, trình biên dịch, các tiện ích, ) Thư viện lập trình (open, close,read, write, ) Hạt nhân hệ điều hành (quản lý tệp, bộ nhớ, thiết bị phần cứng, ) Phần cứng máy tính
  5. Tính đa nhiệm ◼ Một chương trình khi chạy trong máy tính là một tiến trình  đ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  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  Hệ điều hành nào là đa nhiệm: DOS, NT, Windows 9x, Windows 2000, Windows XP ?
  6. Tính đa người sử dụng ◼ 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  một tiến trình tạo ra thuộc quyền sở hữu người đã tạo ra nó  do đó các tiến trình có thể thuộc quyền sở hữu của nhiều người khác nhau
  7. Tính Module ◼ Mô đun hoá về kiến trúc  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 ◼ Mô đun hoá về ứng dụng  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  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
  8. Các công cụ cơ bản ◼ Các trình thông dịch lệnh (shell) : sh, csh, bash ◼ Các câu lệnh quản lý hệ thống tệp ◼ Các câu lệnh quản lý tiến trình ◼ Các câu lệnh xử lý dữ liệu ◼ Các trình soạn thảo: vi, emacs, ◼ Các trình quản lý gói dữ liệu: tar, gzip, ◼ Các trình biên dịch : C, C++, Fortran, Perl ◼ Các bộ xử lý văn bản (latex), hình ảnh (xv) ◼ v.v.
  9. Lịch sử phát triển Unix ◼ 1969: Thiết kế phiên bản đầu tiên bởi Ken Thompson trong phong thí nghiệm Bell Lab của AT&T ◼ 1973: Viết lại bằng ngôn ngữ C để cho phép cài đặt UNIX trên nhiều hệ thống khác nhau ◼ 1975: Phân phối sản phẩm V6 trong các trường đại học ◼ 1977: Xuất hiện phiên bản Unix đầu tiên dùng trong các trường đại học, BSD (Berkeley Software Distribution) ◼ 1978 : Phân phối V7 (gọi là phiên bản số 7) trong lĩnh vực công nghiệp. Phát hành rộng rãi trước khi thương mại hóa ◼ 1984 : Ra đời X-Window (X11) trong Unix ◼ 1990 : Ra đời chuẩn POSIX cho thư viện của UNIX ◼ Ngày nay UNIX là hệ thống mở phát triển xung quanh một hạt nhân POSIX, các tiện ích, các môi trường hệ thống, giao diện đồ hoạ,
  10. 1970 V1 1975 V6 1977 BSD1.0 1978 BSD2.0 V7 1979 BSD3.0 Unix 32 V 1980 BSD4.0 1981 BSD4.1 1982 System III 1983 BSD4.2 System V
  11. 1983 BSD4.2 System V 1984 System V R1 1985 Sun OS 1.0 System V R2 X10 1986 BSD4.3 System V R3 1988 MACH Sun OS 4.0 1989 System V R4 X11 1991 OSF 1 1992 BSD4.4 ?
  12. GNU/LINUX (1) ◼ 1984 : Do Richard Stallman khởi xướng, với mục đích phát triển một hệ điều hành đầy đủ, tựa Unix nhưng có mã nguồn mở  GNU cho ra đời nhiều tiện ích UNIX được sử dụng ngày nay : emacs, gcc,  Vẫn cần phải phát triển một hạt nhân để có một hệ điều hành đầy đủ  GNU: (dê rừng) ◼ 1991 : Linus Torvald đã công bố phiên bản LINUX đầu tiên, một hạt nhân UNIX, đồng thời yêu cầu hỗ trợ phát triển của cộng đồng lập trình viên
  13. GNU/LINUX (2) ◼ Sự kết hợp giữa hạt nhân LINUX và các tiện ích GNU đã cho ra đời một hệ điều hành GNU/ LINUX đầy đủ, có sức mạnh và miễn phí cho rất nhiều dòng máy tính khác nhau  Intel x86, Alpha, ARM, Power PC (Macintosh), PDA  “hệ thống GNU/Linux là một thành phần lõi mã phát triển ra thành nhiều bản khác nhau, gọi là bản phát hành” ◼ Chú ý  Tên LINUX vẫn thường được dùng cho cả hệ điều hành bao gồm: ◼ hạt nhân là hệ điều hànhLinux ◼ các công cụ tiện ích mã nguồn mở đi kèm  Tên đầy đủ của hệ điều hành GNU/Linux
  14. Hạt nhân Linux (1) ◼ 1991 : Phiên bản đầu tiên (version 0.01). ◼ 1992 : Phiên bản 0.96 có rất nhiều chức năng và sở hữu một giao diện đồ hoạ X Window (Xfree86) ◼ 1993 : Có hơn 100 lập trình viên tham gia phát triển Linux (version 0.99) ◼ 1994 : Ra đời phiên bản 1.0. Cách đánh số các phiên bản tuân thủ theo nguyên tắc:  . .  Các phiên bản có số phụ giống nhau thì không có chức năng mới  Tất cả các phiên bản ổn định đều có số phụ là chẵn  Các phiên bản "bêta" khi thêm chức năng đều có số phụ là lẻ
  15. Hạt nhân Linux (2) ◼ 1996: Ra đời Linux 2.0 và được sự dụng trong công nghiệp ◼ 1997: Xuất hiện các tạp chí chuyên đề về Linux ở nhiều nước trên thế giới ◼ 2001: Ra đời phiên bản 2.4. Đây là hạt nhân có tính ổn định và được sử dụng trong hầu hết các bản phân phối Linux ◼ Ngày nay: Hạt nhân Linux đang đi vào giai đoạn cuối. Người lập trình không đưa thêm vào các chức năng mới nữa mà tập trung vào gỡ lỗi và tạo ra phiên bản ổn định nhất
  16. Khái niệm mã nguồn mở ◼ LINUX được bảo vệ bản quyền dưới giấy phép GPL (General Public Licence)  Chủ sở hữu thuộc về tác giả, phân phối tự do và sử dụng miễn phí  Có thể sử dụng để thu lợi nhuận, nhưng không được phép thay đổi các điều lệ trong bản quyền  Cho phép thay đổi mã nguồn nhưng sau đó phải phân phối dưới cùng giấy phép GPL ◼ GPL PM Chia sẻ (shareware)  Mã nguồn phải được mở cho tất cả mọi người  Chú ý : một phần mềm mã nguồn mở không nhất thiết phải dùng giấy phép GPL
  17. Các bản phân phối Linux ◼ Một bản phân phối là tập hợp đầy đủ các chương trình của HĐH bao gồm  Các công cụ cấu hình và cài đặt hệ thống  Các ứng dụng của người sử dụng  Phiên bản của bản phân phối <> phiên bản của hạt nhân ◼ Các bản phân phối  Redhat (Fedora Core)  Mandrake  Debian  VietKey (HĐH Việt nam??? ☺)  Ubuntu ◼ Phiên bản Fedora hiện đang được sử dụng nhiều nhất
  18. Đặc điểm của HĐH LINUX ◼ Tương thích với chuẩn POSIX, System V và BSD ◼ Hỗ trợ giả lập thiết bị đầu cuối ◼ Hỗ trợ các console ảo ◼ Có thể cài đặt với các HĐH khác (dùng LILO, GNUB) ◼ Đọc được dữ liệu trên nhiều định dạng lưu trữ: etx2fs, ms- dos, vfat, iso 9660, ◼ Cài đặt đầy đủ các chuẩn giao thức mạng: TCP/IP, SLIP, PPP, NFS, ◼ Giao diện đồ hoạ: X Window KDE & Gnome ◼ Hỗ trợ rất nhiều dịch vụ ứng dụng: CSDL, ƯD văn phòng, dịch vụ internet, ◼ Hỗ trợ tích hợp mạng với các HĐH khác như Windows
  19. Linux vs. Window ◼ Tại sao dùng LINUX?  đủ tin cậy để đảm bảo HĐH có thể thực nhiều công việc nặng  Tốt hơn nhiều Windows trong khía cạnh quản lý công việc và quản lý mạng  Ít lỗi hệ thống và chạy ổn đinh hơn nhiều so với Windows  Miễn phí nhưng rất đầy đủ  Là lựa chọn tuyệt vời trong giảng dạy và nghiên cứu
  20. Cài đặt HĐH Linux ◼ Sử dụng bộ đĩa cài đặt ◼ Thực hiện các bước Boot hệ thống Phân chia ổ đĩa Giải nén và sao chép tệp Cấu hình hệ thống Tạo các tài khoản sử dụng
  21. Boot hệ thống ◼ Kiểm tra không gian đĩa đủ để cài HĐH mới Có thể cài đặt Linux cùng với Windows trên một máy Dọn dẹp đĩa trước khi cài đặt ◼ Boot bằng CD-ROM ◼ Cũng có thể boot bằng đĩa mềm
  22. Phân chương đĩa cứng ◼ Một đĩa cứng có thể được phân chia thành nhiều partition  Dưới Windows, một partition tương đương với một ổ lôgic ◼ Chỉ có thể cài một HĐH cho một partition ◼ Có nhiều nhất 4 partition nguyên thuỷ trên một đĩa cứng, trong đó  chỉ có thể mở rộng nhiều nhất một partition nguyên thuỷ để chứa nhiều bảng partition logic (được gọi là partition mở rộng)
  23. Phân chương đĩa cho Linux ◼ LINUX cần ít nhất 2 bảng partition  Một dành cho các tệp của HĐH  Bảng còn lại dùng cho vùng nhớ swap (/swap) ◼ Nên xem xét việc tạo ra các bảng partition chuyên dùng chứa dữ liệu  Làm tăng tính an toàn và độ tin cậy của hệ thống  Ví dụ tạo một partition để làm ổ chưa dữ liệu người sử dụng (/home) ◼ Kích thước các bảng  swap: 2 lần kích thước của RAM  Kích thước các bảng khác phụ thuộc dữ liệu cần lưu trữ
  24. Phân chương lại đĩa ◼ Giả thiết  Đã có một HĐH được cài đặt dùng toàn bộ đĩa  Phân chương lại đĩa để cài thêm Linux vào vùng đĩa còn trống ◼ Phương pháp  (tồi nhất) sao lưu, phân chương, format lại đĩa rồi khôi phục HĐH cũ  (tốt hơn) dùng trình soạn thảo chương đĩa cứng để giảm kích thước các bảng phân chương đã có rồi tạo thêm partition mới cho Linux (QMagic)
  25. Phân chương trong cài đặt Linux ◼ fdisk  Tạo, xoá và hiển thị các bảng phân chương ◼ mkswap  Format bảng phân chương swap của Linux ◼ swapon  Đưa bảng phân chương swap vào sử dụng như bộ nhớ ảo máy tính ◼ mkfs.ext2/3  Format một mảng phân chương theo định dạng hệ thống tệp của Linux
  26. Cài đặt các gói ◼ Một gói chưa một tập các ứng dụng bao gồm các tệp đã được nén  Cài đặt một gói tương đương với việc giải nén, copy vào máy tính và cấu hình nếu cần thiết ◼ Lựa chọn các gói cài đặt có thể theo một số cấu hình đặt sẵn từ trước  Cho máy trạm  Cho máy chủ  Chọn bằng tay  V.v.
  27. Tạo tài khoản sử dụng ◼ Có hai loại tài khoản  Người quản trị root : là người quản trị cao nhất trong hệ thống, được phép làm mọi việc mà không bị kiểm soát  Các tài khoản thông thường được tạo ra cho các mục đích: ◼ Cung cấp tài khoản truy nhập cho người sử dụng hệ thống ◼ Cung cấp tài khoản dùng bởi các dịch vụ hệ thống như http, samba, mysql,  Chú ý: Tuyệt đối tránh làm việc dưới tài khoản của root cho các công việc thông thường hàng ngày
  28. Cài đặt Linux trên Máy ảo: ◼ VM: Là hệ thống các chương trình cho phép giả lập máy tính ảo trên máy tính thật, có thể dùng máy ảo để cài đặt hệ điều hành khác ◼ Hiện tại có nhiều phần mềm máy ảo như: VMWare, Virtual Box, Microsoft Virtual PC ◼ Để cài đặt HĐH Linux trên máy ảo, trước hết cài phần mềm tạo máy ảo, sau đó cài đặt hệ điều hành mới trên máy ảo ◼ VMWare là phiên bản đang sử dụng rộng rãi
  29. Sử dụng căn bản
  30. Đăng nhập ◼ Mỗi người sử dụng phải sở hữu một tên đăng nhập và có một mật khẩu kèm theo ◼ Người sử dụng có thể đăng nhập hệ thống với tên và mật khẩu thông qua thiết bị giao tiếp (console) ◼ Có hai dạng console  Chế độ văn bản (sử dụng trình thông dịch lệnh)  Chế độ đồ hoạ (sử dụng giao diện cửa sổ) ◼ Mỗi lần đăng nhập tạo ra một phiên làm việc. Phiên được kết thúc bằng câu lệnh exit hoặc logout
  31. Đăng nhập ở chế độ văn bản ◼ Một trình thông dịch lệnh được tự động khởi động khi phiên làm việc bắt đầu  Cho phép tạo tương tác với người sử dụng thông qua câu lệnh  Nhập lệnh bằng bàn phím, kết quả in ra dạng văn bản trên màn hình  Sử dụng rất ít tài nguyên nên phù hợp ngay cả khi cần tương tác từ xa  Hoạt động dựa trên một ngôn ngữ lập trình dạng kịch bản (script)
  32. Dấu nhắc câu lệnh ◼ Trình thông dịch lệnh (còn gọi là shell) thực hiện một cách lặp nhiều lần các công việc sau đây  Hiển thị dấu nhắc chờ lệnh của người sử dụng  Bắt câu lệnh của người sử dụng  Phân tích lệnh  Thực hiện lệnh [tuananh@hanoi home]$ Tên login Tên máy Thư mục Dấu nhắc [root@hanoi home]#
  33. Ví dụ đăng nhập login: tuananh password: xxxxx [tuananh@hanoi tuananh]$ echo hello hello [tuananh@hanoi tuananh]$ exit
  34. Câu lệnh Unix command [-options] [arguments]  command là tên câu lệnh  options biểu diễn một hoặc một vài tuỳ chọn  arguments là các tham số câu lệnh  Một tuỳ chọn được thể hiện bởi một kí tự đi sau dấu gạch ngang (“-”)  Có thể nối nhiều tuỳ chọn sau một dấu gạch ngang. Ví dụ, -asli tương đương với -a -s -l -i  Nếu một lựa chọn cần tham số kèm theo thì chúng được phân cách nhau bởi một dấu trắng  Cần phân biệt chữ hoa và thường trong câu lệnh
  35. Giới thiệu câu lệnh căn bản ◼ logname : hiên thị tên NSD đang ở phiên làm việc ◼ hostname : hiển thị tên trạm làm việc ◼ clear : xoá màn hình ◼ who : tên của những người đang đăng nhập ◼ exit : kết thúc phiên làm việc ◼ passwd : thay đổi mật khẩu ◼ date : hiển thị ngày hệ thống ◼ mkdir : tạo thư mục ◼ rmdir : xoá thư mục ◼ cd : chuyển vị trí thư mục ◼ pwd : đường dẫn thư mục hiện tại ◼ cp : sao chép tệp ◼ rm : xoá tệp ◼ ps : xem tiến trình ◼ v.v
  36. Các tiện ích của shell (bash) ◼ Hoàn thành tự động câu lệnh với phím  Cho tên câu lệnh ◼ $ema ==> $emacs  Cho tham số là tên tệp ◼ $cd /usr/inc ==> $cd /usr/include ◼ Gọi lại các câu lệnh trong quá khứ  Sử dụng phím lên () và xuống () tìm các câu lệnh đã gõ trong quá khứ
  37. Trợ giúp (man) ◼ Xem trợ giúp trực tuyến bằng lệnh man để biết cách sử dụng các câu lệnh, cấu trúc tệp dữ liệu và cả các hàm thư viện Unix  $man ls : đặc tả câu lệnh ls  $man fstab : đặc tả tệp /etc/fstab  $man fgetc : đặc tả hàm thư viện fgetc ◼ Sử dụng các phím sau để xem trợ giúp  tiến một dòng  tiến một trang  quay lại một trang  thoát khỏi trợ giúp
  38. Các lệnh tra cứu khác ◼ apropos  Tìm một tên lệnh ◼ whatis  Tìm ý nghĩa một câu lệnh ◼ which  Tìm đường dẫn đầy đủ dẫn đến tệp chương trình của một câu lệnh ◼ Thư mục /usr/doc  Chứa tất cả tài liệu HOWTO  Có thế chứa tài liệu của ứng dụng cài đặt trong hệ thống