Báo cáo kiến thức khái quát về hệ điều hành linux

23 604 0
Báo cáo kiến thức khái quát về hệ điều hành linux

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Apr 25 Kiến trúc tổng quát hệ điều hành Linux MỤC LỤC Trang Lời mở đầu Giới thiệu Hệ điều hành Linux - 1.1 Thế Linux? 1.2 Linux có hấp dẫn người dùng? 1.3 Các phân phối Linux 1.4 Yêu cầu máy tính Thành phần Hệ điều hành Linux - 2.1 Hệ điều phối hoạt động – quản lý tiến trình 2.2 Các thành phần quản lý phân phối tài nguyên 2.2.1 Quản lý nhớ 2.2.2 Quản lý tập tin 2.2.3 Quản lý hệ thống xuất nhập 2.2.4 Quản lý nhớ thứ cấp 2.3 Hoạt động mạng 2.4 Hệ thống bảo vệ 2.5 Hệ thống thông dịch lệnh Nhân Linux (Linux Kernel) - 16 Các dịch vụ Hệ điều hành Linux - 18 Lời gọi hệ thống - 20 Tổng kết - 21 Nhóm – Lớp 1101NWMG0411 Apr 25 Kiến trúc tổng quát hệ điều hành Linux LỜI MỞ ĐẦU Ngay từ ngày xuất hiện, Microsoft nhìn thấy Linux khả cạnh tranh lớn nhiều coi Linux đối thủ không đội trời chung với Nhiều tổ chức phủ phi phủ nhìn thấy Linux Hệ điều hành hứa hẹn hỗ trợ cho Linux Những nước nghèo tìm thấy Linux cách giải cho vấn đề kinh tế Một số công ty tìm thấy từ Hệ điều hành nguồn lợi lớn phát triển công việc kinh doanh từ Hệ điều hành Đối với Linus Torvards, Linux niềm đam mê “Just for fun” Các nhà lập trình nhân (kernel) tìm thấy Linux quyến rũ công việc phát triển họ Người dùng tìm thấy Linux hệ thống mạnh, thuận tiện, điều chỉnh theo ý muốn Linux Hệ điều hành phát triển mạnh Những năm đầu thập kỷ thứ chín kỷ XX, Linux đứa tinh thần chưa biết nói Torvads Chỉ vài năm gần có nhiều phân phối Linux chiếm lĩnh môi trường máy chủ máy để bàn người dùng Trên thị trường máy chủ thời có vài tên tuổi ý Linux cho máy để bàn có phần đa dạng Mỗi phân phói thích hợp cho nhóm người dùng cụ thể từ người dùng đến người dùng cao cấp (advanced) hay nói người dùng có quyền lựa chọn cho phân phối thích hợp chuyển sang sử dụng khác mong muốn Linux từ ban đầu xây dựng dựa cộng đồng, dựa cộng tác Cộng đồng Linux không cung cấp cho người dùng máy tính Hệ điều hành thân thiện, dễ sử dụng mà luôn sẵn sàng giúp đỡ người dùng mới, mong muốn có thêm máy tính chạy Linux Với phát triển ngày lớn mạnh Linux, việc phân tích tìm hiểu hoạt động Linux trở nên nhu cầu cấp thiết người nghiên cứu công nghệ thông tin Tuy nhiên với đề tài “Tìm hiểu phân tích kiến trúc tổng quát Hệ điều hành Linux”, nhóm tìm hiểu Hệ điều hành theo hướng tiếp cận người sử dụng, qua tổng kết lại kiến thức chung Hệ điều hành điểm nhấn Linux, để từ có định hướng phát triển Hệ điều hành sau Nhóm – Lớp 1101NWMG0411 Apr 25 Kiến trúc tổng quát hệ điều hành Linux GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH LINUX Lịch sử điểm khởi đầu nghiên cứu ngành khoa học Không có ngoại lệ với Toán học, Vật lý, Hóa học… tất nhiên hệ điều hành Linux Trong phần trình bày này, nhóm xin giới thiệu đôi lời đặc điểm đặc biệt Linux, yêu cầu Linux phần cứng, khái niệm phân phối Linux, cách có phân phối 1.1 Thế Hệ điều hành dạng Linux? Hệ điều hành chương trình hỗ trợ cho việc điều khiển phần cứng máy tính, tổ chức làm việc với tập tin (trong có chạy điều khiển việc thực chương trình), đông thời thực thi giao tiếp với người dùng, tức dịch câu lệnh người dùng hiển thị kết làm việc câu lệnh Không có Hệ điều hành máy tính không thực chức Trong trường hợp máy tính tập hợp thiết bị điện tử không làm việc, không hiểu để làm Linux tên gọi hệ điều hành máy tính tên hạt nhân hệ điều hành Nó có lẽ ví dụ tiếng phần mềm tự việc phát triển mã nguồn mở Phiên Linux Linus Torvalds viết vào năm 1991, lúc ông sinh viên Đại học Helsinki Phần Lan Ông làm việc cách hăng say vòng năm liên tục cho đời phiên Linux 1.0 vào năm 1994 Bộ phận chủ yếu phát triển tung thị trường quyền GNU General Public License Do mà tải xem mã nguồn Linux Một cách xác, thuật ngữ "Linux" sử dụng để Nhân Linux, tên sử dụng cách rộng rãi để miêu tả tổng thể hệ điều hành giống Unix (còn biết đến tên GNU/Linux) tạo việc đóng gói nhân Linux với thư viện công cụ GNU, phân phối Linux Thực tế tập hợp số lượng lớn phần mềm máy chủ web, ngôn ngữ lập trình, hệ quản trị sở liệu, môi trường làm việc desktop Nhóm – Lớp 1101NWMG0411 Apr 25 Kiến trúc tổng quát hệ điều hành Linux GNOME KDE, ứng dụng thích hợp cho công việc văn phòng OpenOffice.org Ban đầu, Linux phát triển sử dụng người say mê Tuy nhiên, Linux có hỗ trợ công ty lớn IBM HewlettPackard, đồng thời bắt kịp phiên Unix độc quyền chí thách thức thống trị Microsoft Windows số lĩnh vực Sở dĩ Linux đạt thành công cách nhanh chóng nhờ vào đặc tính bật so với hệ thống khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với phiên Unix độc quyền) khả bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) đặc điểm giá thành rẻ, không bị phụ thuộc vào nhà cung cấp Một đặc tính trội phát triển mô hình phát triển phần mềm nguồn mở hiệu Tuy nhiên, số lượng phần cứng hỗ trợ Linux khiêm tốn so với Windows trình điều khiển thiết bị tương thích với Windows nhiều Linux Nhưng tương lai số lượng phần cứng hỗ trợ cho Linux tăng lên 1.2 Linux có hấp dẫn người dùng? Có lẽ bạn quen với hệ điều hành Windows quen lập trình hệ điều hành Windows nói hệ điều hành "hoàn hảo", dễ sử dụng, với nhiều tiện ích đáp ứng gần yêu cầu người dùng Vậy lại phải tìm đến hệ điều hành Linux? Điều liệu có thực cần thiết không? Nhất sinh viên chúng ta, người chập chững bước vào đường làm tin học? Câu trả lời CÓ 1.2.1 Vấn đề quyền Trong bối cảnh kinh tế giới có xu hướng toàn cầu hóa vấn đề cộm Ở Việt Nam, vấn đề vi phạm quyền phần mềm phổ biến (nước ta dẫn đầu giới số lượng phần mềm dùng quyền) Nếu tình trạng đánh cắp quyền phần mềm Việt Nam 100 triệu USD năm có lượng hàng hóa có giá trị tương đương không bán Mỹ nước phát triển Và người thiệt hại người lao động Việt Nam Trước tình hình đó, việc tự xây dựng cho phần mềm thương hiệu Việt Nam trở nên vấn đề cấp bách Phần mềm mã nguồn mở xem giải pháp hữu hiệu cho toán quyền nước ta Phần mềm mã nguồn mở mặt có chi phí rẻ so với phần mềm truyền thống, mặt khác dễ nâng cấp, cải tiến (do cung cấp mã nguồn kèm theo) Chính thế, phát triển phần mềm mã nguồn mở tận dụng công nghệ tiên tiến có sẵn giới, cải tiến cho phù hợp với người Việt Nam, tiết kiệm nhiều công sức so với việc phát triển từ đầu Linux hệ điều hành mã nguồn mở vậy!!! 1.2.2 Những ưu điểm kỹ thuật bật Linux Kinh tế, đặc điểm bỏ qua Linux (ít nước ta nay) Tuy nhiên Linux chưa tất Hệ điều hành nhiều ưu điểm khác mà không hệ điều hành có Chính đặc điểm nguyên nhân khiến cho Linux ngày trở nên phổ biến không Việt Nam mà giới * Linh hoạt, uyển chuyển Như trình bày trên, Linux hệ điều hành mã nguồn mở nên bạn tùy ý sửa chữa theo thích (miễn bạn có đủ kiến thức) Bạn Nhóm – Lớp 1101NWMG0411 Apr 25 Kiến trúc tổng quát hệ điều hành Linux chỉnh sửa Linux ứng dụng cho phù hợp với Tính linh hoạt Linux thể chỗ tương thích với nhiều môi trường Hiện tại, Linux dành cho server, máy tính để bàn nhân Linux (Linux kernel) nhúng vào thiết bị điều khiển máy tính palm, robot Phạm vi ứng dụng Linux xem rộng rãi * Độ an toàn cao Trước hết, Linux có cấu phân quyền rõ ràng Chỉ có "root" (người dùng tối cao) có quyền cài đặt thay đổi hệ thống Ngoài Linux có chế để người dùng bình thường chuyển tạm thời chuyển sang quyền "root" để thực số thao tác Điều giúp cho hệ thống chạy ổn định tránh phải sai sót dẫn đến đổ vỡ hệ thống Trong phiên Windows gần đây, chế phân quyền bước đầu áp dụng, so với Linux chặt chẽ Ngoài tính chất "mở" tạo nên an toàn Linux Nếu lỗ hổng Linux phát cộng đồng mã nguồn mở sửa thường sau 24h cho sửa lỗi Mặt khác hệ điều hành mã nguồn đóng Windows, bạn biết người ta viết gì, viết mà biết chúng chạy Trong Linux thứ công khai, người quản trị tìm hiểu tới ngõ ngách hệ điều hành Điều có nghĩa độ an toàn nâng cao * Thích hợp cho quản trị mạng Được thiết kế từ đầu cho chế độ đa người dùng, Linux xem hệ điều hành mạng giá trị Nếu Windows tỏ hệ điều hành thích hợp với máy tính Desktop Linux lại hệ điều hành thống trị Server Đó Linux có nhiều ưu điểm thỏa mãn đòi hỏi hệ điều hành mạng: tính bảo mật cao, chạy ổn định, chế chia sẻ tài nguyên tốt… Giao thức TCP/IP mà thấy ngày giao thức truyền tin Linux (sau đưa vào Windows) * Chạy thống hệ thống phần cứng Dù cho có nhiều phiên Linux nhà phân phối khác ban hành nhìn chung chạy ổn định thiết bị phần cứng, từ Intel 486 đến máy Pentium nhất, từ máy có dung lượng RAM 4MB đến máy có cấu hình cực mạnh (tất nhiên tốc độ khác nguyên tắc chạy được) Nguyên nhân Linux nhiều lập trình viên nhiều môi trường khác phát triển (không Windows Microsoft phát triển) bạn bắt gặp nhiều người có "cùng cảnh ngộ" dễ dàng tìm driver tương ứng với thiết bị Tính chất hoàn toàn trái ngược với Windows Mỗi có phiên Windows đời kèm theo khát phần cứng hệ điều hành thường không hỗ trợ thiết bị cũ 1.3 Các phân phối Linux Linux có nhiều phân phối khác nhau, phần tính chất nguồn mở Sau số phân phối chủ yếu: Tên phân phối Phiên Trang web thức Các tương tự Ubuntu 9.04 www.ubuntu.com Kubuntu, Xubuntu, Edubuntu Debian GNU/Linux 4.0 www.debian.org Nhóm – Lớp 1101NWMG0411 Kiến trúc tổng quát hệ điều hành Linux Apr 25 Ultimate Edition 1.7 Red Hat Enterprise 5.0 Linux Fedora Core 10.0 SUSE Linux 10.1 www.redhat.com/rhel/ www.fedoraproject.org www.novell.com/Linux/ OpenSUSE 10.3 Enterprise Desktop Mint Knoppix PCLinuxOS Mandrake CentOS Slackware Xandros SLAX Easys Sabayon DreamLinux OpenSolaris Hồng kỳ Linux Puppy Linux Hacao Linux Vubuntu Asianux 12.1 www.Linuxmint.com www.knoppix.com/ www.pcLinuxos.com/ www.madrivaLinux.com www.gentoo.org/ www.slackware.com/ 2008 www.opensolaris.org/ 2.16 1.0 2.0 http://www.hacao.com/ 5.3.1 2008 2007.0 Mandriva http://www.asianux.com/ Asianux Server 1.4 Yêu cầu máy tính Vì Hệ điều hành Linux sử dụng chế độ bảo vệ vi xử lý, nên để cài đặt Hệ điều hành cần máy tính có xử lý 386 Yêu cầu phần cứng hệ thống muốn cài đặt Linux xác định lựa chọn phần mềm cảu người dùng (và tức phụ thuộc vào phiên phần mềm nhiều vào phân phối) Bảng đưa vài số với mục địch làm quen, số không xác không khác biệt nhiều Linux khác Mong muốn người dùng Yêu cầu, MB Bộ Đĩa nhớ cứng Yêu cầu nhỏ nhất, làm việc giao diện văn với dòng 200 lệnh shell, có đủ số ứng dụng người dùng vim, emacs, … Dùng giao diện đồ họa X Window với số trình quản 32 400 lý cửa sổ nhỏ nhẹ icewm, fluxbox, windowmaker Dùng môi trường làm việc đồ họa KDE 128 1000 Chạy ứng dụng cần nhiều nhớ (như GIMP, ứng dụng 256 1500 nằm Koffice, OpenOfffice.org Như Linux có ưu điểm lớn khả làm việc chí máy cũ, mà trước dùng MS-DOS (tất nhiên trường hợp Nhóm – Lớp 1101NWMG0411 Apr 25 Kiến trúc tổng quát hệ điều hành Linux thu chế độ dòng lệnh) Để bắt đầu học Linux cần có máy tính với vi xử lý 486, 16MB nhớ ổ cúng khoảng 300MB Tất nhiên dung lượng nhớ cấu hình máy nói chung mạnh, nhiều nhớ, ổ cứng rộng tốt Không có thừa thãi CÁC THÀNH PHẦN CỦA HỆ ĐIỀU HÀNH LINUX Sau đây, vào nghiên cứu thành phần Hệ điều hành Linux Một cách tổng quát Hệ điều hành chung bao gồm thành phần sau: a Điều phối hoạt động: Quản lý tiến trình (Process Management ) b Thành phần quản lý phân phối tài nguyên: - Quản lý nhớ (Main Memory Management) - Quản lý tập tin (File Management) - Quản lý hệ thống vào-ra (I/O System Management) - Quản lý nhớ thứ cấp (Secondary Storage Management) c Hoạt động mạng (Networking) d Hệ thống bảo vệ (Protection System) e Hệ thống thông dịch lệnh (Command-Interpreter System) 2.1 Hệ điều phối hoạt động: Quản lý tiến trình Những hệ thống máy tính ban đầu cho phép chương trình thực thi thời điểm Chương trình có toàn quyền điều khiển hệ thống có truy xuất tới tất tài nguyên hệ thống Những hệ thống máy tính cho phép nhiều chương trình nạp vào nhớ thực thi đồng hành Sự phát triển yêu cầu điều khiển mạnh mẽ phân chia nhiều trình Yêu cầu dẫn đến khái niệm trình, chương trình thực thi Quá trình đơn vị công việc hệ điều hành chia thời đại Một hệ điều hành phức tạp mong đợi nhiều việc thực hành vi người dùng Mặc dù quan tâm chủ yếu hệ điều hành thực thi chương trình người dùng, quan tâm đến tác vụ khác bên nhân Do đó, hệ thống chứa tập hợp trình: trình hệ điều hành thực thi mã hệ thống, trình người dùng thực thi mã người dùng Tất trình có tiềm thực thi đồng hành, với CPU (hay nhiều CPU) đa hợp chúng Bằng cách chuyển đổi CPU trình, hệ điều hành làm cho máy tính hoạt động với suất cao Mỗi tiến trình Linux biểu diễn cấu trúc liệu task_struct (task có nghĩa tiến trình Linux) Linux sử dụng task vector để quản lý trỏ đến task_struct, mặc định có 512 phần tử Khi tiến trình tạo ra, task_struct cấp phát nhớ thêm vào vector task Linux hỗ trợ hai loại tiến trình loại bình thường loại thời gian thực Cấu trúc task_struct gồn trường 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 tiến trình, liên kết, định thời gian, hệ thống tập tin, nhớ ảo, ngữ cảnh Trong Linux UNIX, chương trình lệnh thực theo chế thông dịch Bộ thông dịch gọi shell Linux hỗ trợ nhiều loại shell sh, bash, tcsh Tập tin thi hành có nhiều dạng, dạng sử dụng thông dụng Linux EFL, Linux hiểu nhiều dạng tập tin khác Nhóm – Lớp 1101NWMG0411 Apr 25 Kiến trúc tổng quát hệ điều hành Linux Các chế thông tin liên lạc tiến trình sử dụng tín hiệu (SIGNALS), đường ống (PIPE), sockets, semaphore nhớ chia sẻ Có tập hợp tín hiệu định nghĩa trước, tính hiệu phát sinh hạt nhân tiến trình khác nhớ Linux cài đặt tín hiệu task_struct Không phải tiến trình hệ thống gửi tín hiệu đến tiến trình khác Tín hiệu phát sinh cách thiết lập bit thích hợp trường signal cấu trúc task_struct Tín hiệu không xuất cho tiến trình tạo mà phải chờ đến tiến trình thực trở lại Trong Linux chế đường ống cài đặt sử dụng hai cấu trúc file trỏ đến inode VFS tạm thời xác định trang vật lý nhớ Khi tiến trình ghi thực việc ghi vào đường ống, byte chép vào trang liệu chia sẻ Linux phải đồng quy trình truy xuất đường ống Tiến trình ghi sử dụng hàm thư viện ghi chuẩn Các chế socket, semaphores nhớ chia sẻ Linux gần giống với hệ thống Unix System V 2.2 Thành phần quản lý phân phối tài nguyên 2.2.1 Quản lý nhớ Trong hệ thống máy tính, nhớ tài nguyên khan Cho dù có nhớ không đáp ứng đủ nhu cầu người sử dụng Các máy tính cá nhân trang bị 128Mb nhớ Các máy chủ servercos thể lên đến hàng gigabyte nhớ Thế nhu cầu nhớ không thỏa mãn Linux có cách tiếp cận quản lý nhớ rõ rang Các ứng dụng linux phép truy cập trực tiếp vào địa vật lý nhớ Linux cung cấp cho chương trình chạy HĐH - gọi tiến trình – mô hình đánh giá địa phẳng không phân đoạn segment:offset DOS Mỗi tiến trình thấy vùng không gian địa riêng Hầu tất phiên UNIX cung cấp cách bảo vệ nhớ theo chế bảo đảm tiến trình ghi đè lên vùng nhớ tiến trình khác hoạt động vùng nhớ hệ thống Nói chung, nhớ mà hệ thống cấp phát cho tiến trình đọchoặc ghi tiến trình khác Trong hầu hết hệ thống Linux UNIX, trỏ sử dụng số nguyên 32 bit trỏ đến ô nhớ cụ thể Với 32 bit, hệ thống đánh địa lên đến 4GB nhớ Mô hình nhớ phẳng dễ truy xuất xử lý nhớ phân đoạn segment:offset Ngoài ra, vài hệ thống sư dụng mô hình địa 64 bit, không gian địa mở rộng đến terabyte Để tăng dung lượng nhớ sẵn có, Linux cài đặt chương trình phân trang đĩa tức lượng không gian hoán đổi phân bố đĩa Khi hệ thống yêu cầu nhiều nhớ vật lý, đưa trang không hoạt động đĩa, nhờ bạn chạy ứng dụng lớn lúc hỗ trợ nhiều người sử dụng Tuy vậy, việc hoán đổi không thay RAM vật lý, chậm cần nhiều thời gian để truy cập đĩa Kernel cài đặt khối nhớ hợp cho chương trình người sử dụng đệm đĩa tạm thời (disk cache) Theo cách này, tất nhớ trống dành để nhớ tạm nhớ đệm (cache) giảm xuống xử lý chạy chương trình lớn 2.2.2 Quản lý hệ thống tập tin 2.2.2.1 Tập tin Nhóm – Lớp 1101NWMG0411 Apr 25 Kiến trúc tổng quát hệ điều hành Linux Máy tính công cụ để làm việc với thông tin không không Mà thông tin Hệ điều hành đưuọc lưu dạng tập tin đĩa lưu Từ phía Hệ điều hành tập tin chuỗi liên tục byte với chiều dài xác định Hệ điều hành không quan tâm đến định dạng bên tập tin, cần đặt cho tập tin tên để người dùng (hay chương trình ứng dụng) làm việc với tập tin Làm để người dùng làm việc với tập tin, công việc hệ thống tập tin, người dùng thường không cần quan tâm đến Vì thế, người dùng hệ thống tập tin cấu trúc logic thư mục tập tin Một đặc điểm quan trọng Linux hỗ trợ nhiều hệ thống tập tin Điều làm cho linh động tồn với nhiều hệ điều hành khác Từ phiên đầu tiên, Linux hỗ trợ 15 loại tập tin: ext, ext2, xia, minix, msdos, vfat, proc, smb, ncb, iso9660, sysv, hpfs, affs ufs Trong Linux, UNIX nói chung, hệ thống tập tin truy xuất thông qua cấu trúc thừa kế đơn thay thiết bị xác định (như tên ổ đĩa số hiệu ổ đĩa) Linux thêm hệ thống tập tin thiết lập vào thư mục gọi thưu mục thiết lập Khi đĩa khởi tạo, đĩa chia thành nhiều partitions Mỗi partition có hệ thống tập tin Hệ thống tập tin Linux coi thiết bị khối cách đơn giản tập hợp tuyến tính khối mà không quan tâm đến tổ chức vật lý đĩ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ể đĩa Trong hệ thống tập tin Linux, người sử dụng không quan tâm đến khác biệt chúng thiết bị vật lý khác Hệ thống tập tin không hệ thống cục mà ổ đĩa từ xa mạng Hệ thống tập tin Linux hỗ trợ Minix cho phép tập tin có tên tối đa 14 ký tự kích thước không vượt 64Mb Hệ thống tập tin đặc thù Linux hệ thống tập tin mở rộng (EXT) giới thiệu vào tháng 4/1992, hệ thống không hiệu nên sau vào năm 1993, hệ thống tập tin mở rộng hệ thêm vào 2.2.2.2 Cấu trúc thư mục Nếu cấu trúc tập tin không cho phép sử dụng khác tên tập tin (tức tất tập tin nằm danh sách chung giống hạt cát bãi biển) chí giới hạn độ dài tên, khó để tìm đến tập tin cần thiết Một hệ thống Linux hoàn chỉnh có số lượng tập tin lớn hàng nghìn, tập tin tổ chức vào thư mục, thư mục nằm thư mục khác, v.v… kết thu cấu trúc thưu mục có phân bậc thư mục gốc Mỗi thư mục chứa tập tin riêng lẻ thư mục Nhóm – Lớp 1101NWMG0411 Apr 25 Kiến trúc tổng quát hệ điều hành Linux Cấu trúc phân bậc thư mục thường minh họa “cây thư mục”, thư mục nút “cây”, tập tin – “lá” Trên MS-DOS Windows cấu trúc thư mục có ổ đĩa (tức có “cây” mà “rừng” thư mục) thư mục gốc cấu trúc tập tin đánh dấu chữ Latinh (và có số hạn chế) Trên Linux UNIX nói chung có cấu trúc thư mục cho tất đĩa lưu, thư mục cấu trúc ký hiệu dấu gạch chéo “/” Có thể đưa vào thư mục gốc số lượng không hạn chế thư mục nằm đĩa lưu khác (thường nói “gắn hệ thống tập tin” “gắn đĩa lưu”) Tên thư mục đặt theo quy định tên tập tin Và nói chung cấu trúc bên thư mục không khác so với tập tin thông thường, ví dụ tập tin văn (text file) Ngoài thư mục thời người dùng có “thư mục nhà”, phương án dịch “thư mục cá nhân” ưu tiên Đó thư mục người dùng có toàn quyền: tạo xóa tập tin, thay đổi quyền truy nhập đến chúng Trong cấu trúc thư mục Linux thư mục cá nhân người dùng thường nằm thư mục /home thường có tên trùng với tên đăng nhập người dùng vào hệ thống Ví dụ: /home/nhom1 Mỗi người dùng làm việc với thư mục ký hiệu ~, tức người dùng nhom1 làm việc với thư mục /home/nhom1/cautrucmaytinh ~/cautrucmaytinh Khi người dùng vào hệ thống, thư mục cá nhân trở thành thư mục thời người dùng 2.2.2.3 Công dụng thư mục chính: Trong Windows, người dùng hoàn toàn có quyền tổ chức cấu trúc thư mục, số truyền thống tuân theo Ví dụ tập tin hệ thống thường nằm thư mục C:\Windows, chương trình thường đặt vào C:\Program File… Trong Linux có cấu trúc thư mục kiểu chí cón nghiêm ngặt Hơn có tiêu chuẩn xác định cấu trúc thư mục cho Hệ Nhóm – Lớp 1101NWMG0411 10 Apr 25 Kiến trúc tổng quát hệ điều hành Linux điều hành dòng UNIX Tiêu chuẩn gọi Filesystem Hierarchy Standart (FHS) Công dụng thư mục Linux: Thư mục Công dụng /bin Thư mục gồm chủ yếu chương trình, phần lớn số chúng cần cho hệ thống thời gian khởi động (hoặc chế độ người dùng bảo trì hệ thống) Ở có lưu nhiều câu lệnh thường dùng Linux /boot Gồm tập tin cố định cần cho khởi động hệ thống, có nhân (kernel) Tập tin thư mục cần thời gian khởi động /dev Thư mục tập tin đặc biệt tập tin thiết bị phần cứng /etc Thư mục thư mục lưu phần ớn liệu cần cho trình khởi động ban đầu hệ thống lưu tập tin cấ hình /home Thông thường thư mục thư mục cá nhân người dùng (trừ root) /lib Thư mục lưu thư viện chia sẻ hàm mà trình biên dịch C mô đun cần /lost+found Thư mục sử dụng để phục hồi hệ thống tập tin lệnh fsck Nếu fsck tìm tập tin mà không xác định thư mục mẹ đưa tập tin vào thư mục /lost+found /mnt Đây điểm gắn hẹ thống tập tin gắn tạm thời Nếu máy tính có đồng thời Linux Windows (DOS) thư mục thường dùng để gắn hệ thống tập tin FAT /tmp Thư mục dành cho tập tin tạm thời /root Đây thư mục cá nhân người dùng cao cấp root, không nằm chỗ với thư mục cá nhân người dùng khác (trong /home) /usr Thư mục lớn cấu trúc nhìn chung lặp lại cấu trúc thư mục gốc Trong thư mục /usr tất ứng dụng /var Trong thư mục tập tin lưu liệu biến đổi (variable) Những liệu xác định cấu hình só chương trình lần chạy sau thông tin lưu tạm thời sử dụng sau 2.2.2.4 Quyền truy cập đến tập tin thư mục Bởi Linux Hệ điều hành nhiều người dùng, nên yêu cầu quy định truy cập đến tập tin thư mục yêu cầu thiết yếu mà Hệ điều hành phải giải Cơ sở chế quy định quyền truy cập tên người dùng tên nhóm người dùng Trong Linux người dùng có tên riêng không lặp lại dùng để đăng nhập vào hệ thống Ngoài ra, hệ thống có nhóm người dùng, Linux cho phép người dùng nằm nhiều nhóm Tạo xóa nhóm công việc người dùng cao cấp root, root thay đổi thành phần nhóm Thành viên nhóm khác có quyền truy cập khác đến tập tin, ví dụ nhóm nhà quản trị có quyền nhiều so với nhóm nhà lập trình 2.2.3 Quản lý hệ thống xuất nhập I/O Như đề cập học tổng quan Hệ điều hành, mục tiêu hệ điều hành giúp cho người sử dụng độc lập với thiết bị Trong Linux, thiết bị phần cứng xem tập tin thông thường : chúng mở, đóng , đọc , ghi, sử dụng lời gọi hệ thống để thao Nhóm – Lớp 1101NWMG0411 11 Apr 25 Kiến trúc tổng quát hệ điều hành Linux tác Mọi thiết bị hệ thống biểu diễn tập tin thiết bị, ví dụ đĩa IDE hệ thống biểu diễn /dev/hda Đầu vào đầu (I / O) trung tâm thiết bị máy vi tính Cũng hệ điều hành khác, Linux hỗ trợ loạt thiết bị I / O Các loại thiết bị I / O hỗ trợ Linux, hạt nhân ứng dụng người dùng Linux ánh xạ tập tin thiết bị vào lời gọi hệ thống Linux hỗ trợ ba loại thiết bị : ký tự, khối mạng Có nhiều chương trình điều khiển thiết bị khác hạt nhân Linux chúng chia xẻ thuộc tính chung : Mã nguồn hạt nhân : chương trình điều khiển thiết bị phần hạt nhân đoạn mã nguồn khác bị lỗi đ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 giao tiếp chuẩn với hạt nhân Linux Chương sử dụng dịch vụ chuẩn từ hạt nhân Hầu hết chương trình điều khiển thiết bị Linux nạp đơn thể hạt nhân có yêu cầu gỡ không sử dụng Khi khởi động hệ thống chương trình điều khiển thiết bị khởi tạo tìm thiết bị phần cứng mà điều khiển Linux sử dụng chế DMA sử dụng vector cấu trúc dma_chan để quản lý kênh DMA (mỗi kênh có vector) Mỗi lớp điều khiển thiết bị : ký tự, khối, mạng cung cấp giao tiếp chung với hạt nhân Khi thiết bị khởi tạo, ghi điều khiển thiết bị bên hạt nhân Linux thêm entry vector chrdevs cấu trúc devive_struct Một định danh (id) xác định cho vector cố định Mỗi entry vector chrdevs, device_struct gồm hai phần tử : trỏ đến tên ghi điều khiển thiết bị trỏ tới khối tập tin thao tác Khối tập tin thao tác địa thủ tục chương trình điều khiển thiết bị mà chúng kiểm soát thao tác mở, đóng, đọc, ghi Nội dung /proc/devices cho thiết bị ký tự lấy từ vector chrdevs Các thiết bị khối truy xuất tập tin Linux quản lý ghi thiết bị khối vector blkdevs, tương tự vector chrdevs entry cấu trúc device_struct có hai loại thiết bị khối : SCSI IDE Mỗi chương trình điều khiển thiết bị khối phải cung cấp giao tiếp với vùng đệm thao tác tập tin thôn thường Cấu trúc blk_dev_struct bao gồm địa thủ tục yêu cầu trỏ đến cấu trúc liệu cần thiết, cấu trúc đại diện cho yêu cầu từ vùng đệm cho điều khiển đọc ghi khối liệu Trong Linux, thiết bị mạng thực thể nhận gửi gói liệu Mỗi thiết bị mạng biểu diễn cấu trúc device Các chương trình điều khiển thiết bị mạng ghi nhận thiết bị mà chúng điều khiển trình khởi tạo mạng lúc khởi động hệ thống Cấu trúc device chứa thông tin thiết bị địa hàm hỗ trợ nghi thức dịch vụ mạng khác Nhữõng hàm chủ yếu tập trung vào việc chuyển liệu sử dụng thiết bị mạng thiết bị sử dụng chế hỗ trợ mạng chuẩn để chuyển liệu nhận cho lớp nghi thức thích hợp Tất gói liệu chuyển nhận biểu diễn cấu trúc sk_buff, cấu trúc linh động cho pháp tiêu đề (header) nghi thức mạng dể dàng thêm vào loại bỏ Cấu trúc device lưu thông tin thiết bị mạng : tên, thông tin đường truyền, cờ trạng thái giao tiếp(mô tả thuộc tính khả thiết bị mạng), thông tin nghi thức, hàng đợi gọi tin(đây hàng đợi gọi sk_buff chờ chuyển liệu thiết bị mạng đó), hàm hỗ trợ (mỗi thiết bị cung cấp tập hợp thủ tục chuẩn gọi lớp nghi thức) Nhóm – Lớp 1101NWMG0411 12 Apr 25 Kiến trúc tổng quát hệ điều hành Linux 2.2.4 Quản lý nhớ thứ cấp Vì từ nhớ nhớ truy xuất trực tiếp với thời gian ngắn, giá thành nhớ tương đối cao Do hầu hết máy tính có thêm thiết bị lưu trữ (bộ nhớ phụ) tốc độ thấp, rẻ thường có dung lượng lớn nhiều Cần hệ thống lưu trữ thứ cấp để lưu trữ bền vững liệu, chương trình nên sử dụng nhớ thứ cấp (secondary storage) để back up nhớ Hầu hết hệ thống máy tính đại sử dụng ổ đĩa phương tiện lưu trữ trực tuyến sở cho chương trình liệu 2.3 Hoạt động mạng Nếu say mê Internet, hẳn bạn nghe nói đến TCP/IP (Transmission Control Protocol/Internet Protocol), giao thức cung cấp tảng phần mềm cho hệ thống mạng máy tính liên kết với khắp Internet Linux sử dụng giao thức chuẩn TCP/IP, giao thức truyền thông Unix-Unix, thường gọi UUCP (Unix to Unix Copy Protocol) - nhiều phương thức truyền thông qua cổng khác Tính mạng Linux linh động, cho phép cấu hình hệ thống mạng với quy mô từ mạng SME LAN mạng cộng tác trải rộng khắp giới Bạn nên biết TCP/IP sử dụng gần thập kỷ qua có hàng triệu người dùng tin tưởng vào giao thức Vì thế, thích hợp với môi trường cộng tác ứng dụng then chốt Hơn nữa, Linux hỗ trợ đầy đủ cho TCP/IP với tính cao cấp tường lửa, che chắn địa IP Trong môi trường quy mô trung bình, bước đầu đến với mạng có lẽ kết nối máy đơn Linux với Internet Điều thực dễ dàng bạn có modem tài khoản dial-up tới nhà cung cấp dịch vụ Internet (ISP) đó: xác lập dịch vụ PPP (Point-to-Point Protocol) chọn tùy chọn TCP/IP cấu hình phần nhân Linux Trong số trường hợp, giao thức cũ SLIP sử dụng thay PPP, có nhiều nhà cung cấp dịch vụ đưa loại tài khoản SLIP triển khai phần mềm mô PPP, vậy, bạn có khả sử dụng PPP máy trạm Phần khó khăn có lẽ xác lập PPP máy trạm kể sửa đổi lại số tập tin cấu hình thư mục /etc/ppp Còn cách khác sử dụng chương trình linuxconf để cấu hình tính dial-out PPP hay SLIP Chưa hết Linux cón cấu hình thành trạm gateway Internet mạng LAN bạn Điều có nghĩa cho phép nhiều máy sử dụng chia sẻ tài khoản Internet - ý tưởng tuyệt bạn dự định sử dụng chung truy cập Internet cho máy Có thể cấu hình Linux thành server SLIP hay PPP để truy cập modem, hay chí thành hẳn nút Internet thực Hầu hết người dùng cộng tác quan tâm đến việc có mạng LAN, để tập trung chia sẻ liệu quan trọng, tạo điều kiện thuận lợi truyền thông nội Kết nối nhiều máy Linux thành mạng LAN không khó khăn lắm: máy cần card Ethernet, dây cáp thích hợp vài thiết bị mạng hub Ethernet Linux hỗ trợ nhiều card mạng Ethernet (như 3Com, D-Link, ), tự động nhận cấu hình card LAN vào lúc khởi động để khởi tạo lớp phần mềm giao tiếp mạng theo cấu hình Mỗi máy cần có địa IP tên máy chủ (host name) riêng để giao tiếp với mạng (điều giống kiểu cấu hình sử dụng mạng Windows) Nhóm – Lớp 1101NWMG0411 13 Apr 25 Kiến trúc tổng quát hệ điều hành Linux 2.4 Hệ thống bảo vệ Đối với người dùng bình thường, vấn đề bảo mật không quan tâm Họ quan tâm đến chức họ sử dụng Nhưng nguy hiểm hầu hết máy tính cá nhân cài đặt Windows người dùng mặc định thường có quyền Adminisrator người dùng không nhận thức điều đó, với quyền Administrator có toàn quyền hệ thống chỉnh sửa cài đặt thích Một số người thấy thích điều thoải mái khám phá vô tình họ toang cánh cửa cho nguy hiểm bên xâm nhập vào máy Còn với Linux nói chung Ubuntu nói riêng Chỉ người dùng ban đầu tạo có quyền quản lý hệ thống Tài khoản root mặc định Disable (Các quản lý hệ thống có kinh nghiệm thận trọng sử dụng tài khoản root) Chúng ta có quyền với thư mục Home ổ lưu trữ ngoài, định dạng FAT32 phân vùng Windows Nhưng với tài khoản ban đầu thực nhiều tác vụ quản lý hệ thống Tuy nhiên thao tác yêu cầu xác thực người dùng Ubuntu tạo Session giống website tự động yêu cầu xác nhận mật sau khoảng thời gian định Khi đăng nhập chế độ dòng lệnh password không hiển thị dạng dấu * Trong Ubuntu 8.04 số thao tác thay đổi định dạng ngày giờ, thông tin tài khoản người dùng không ảnh hưởng đến hệ thống không cần nhập mật muốn thay đổi toàn hệ thống cần bấm vào nút Unlock Với chế loại Virus tương lai có lỡ lây vào máy phá huỷ toàn hệ thống mà phần nhỏ mà người dùng có quyền ảnh hưởng Đặc biệt chế lây nhiễm thông thường Windows lây qua mạng, qua ổ di động lưu trữ chí cần vào website bị nhiễm Đối với nhà quản trị hệ thống có kinh nghiệm Linux thật an toàn, lỗ hổng bảo mật nhà cung cấp Canonical, Red Hat cập nhật sửa lỗi Linux an toàn từ lớp ban đầu Kernel Tuy nhiên với số người dùng chuyển từ Windows sang khó chịu với xác thực Ubuntu, số xài tài khoản root, số sử dụng lệnh sudo lúc nơi, cài đặt nhiều phần mềm, sử dụng lệnh lấy từ Internet Nếu phần mềm, tập lệnh lấy từ nguồn không an toàn người viết có ý đồ xấu chẳng khác mời trộm vào nhà Thử nghĩ ngày tìm thấy viết hấp dẫn Google làm theo mà không kiểm tra nguồn viết Chỉ cần dòng lệnh tất liệu toàn ổ cứng bạn bị xoá chí ổ lưu trữ gắn Chỉ Linux có câu lệnh nguy hiểm đến Hoặc cần vài dòng lệnh nhỏ Active chức điều khiển máy tính từ xa bị lợi dụng để máy bạn làm Zombie Đối với gói cài đặt nguy hiểm không 2.5 Hệ thống thông dịch lệnh Trình thông dịch dòng lệnh (tiếng Anh: command line interpreter hay command line shell) chương trình máy tính có nhiệm vụ đọc dòng lệnh văn người dùng nhập vào thông dịch ngữ cảnh hệ điều hành hay ngôn ngữ lập trình Nhóm – Lớp 1101NWMG0411 14 Apr 25 Kiến trúc tổng quát hệ điều hành Linux Các trình thông dịch dòng lệnh cho phép người dùng gọi lệnh khác cách hiệu (nhanh sử dụng chuột) Điều đòi hỏi người dùng biết tên lệnh tham số, cú pháp ngôn ngữ thông dịch Từ thập kỷ 1960 trở đi, tương tác người dùng với máy tính chủ yếu qua giao diện dòng lệnh Từ năm 1970, giao diện đồ họa người dùng (GUI) bắt đầu nghiên cứu để cung cấp giao diện khác, lệnh biểu diễn hình ảnh thay cho miêu tả chữ Do dễ học giao diện dòng lệnh, giao diện đồ họa trở thành cách phổ thông để người dùng tương tác với máy tính Tuy nhiên, chương trình thông dịch dòng lệnh sử dụng rộng rãi với giao diện đồ họa Đối với số tác vụ phức tạp, giao diện đồ họa hiệu cần đến số lượng lớn trình đơn hộp hội thoại, khó khăn cố hữu việc biểu diễn tác vụ đồ họa Tất trình thông dịch dòng lệnh trình thông dịch ngôn ngữ lập trình, dù nhiều trường hợp ngôn ngữ dùng cho trình thông dịch Đa số trình thông dịch dòng lệnh hỗ trợ lập trình ngôn ngữ kịch (scripting language) Đối với Hệ điều hành Linux, sử dụng trình thông dịch gọi shell Shell chương trình bạn Linux (hay nói xác bạn với nhân Linux) Mỗi lệnh bạn gõ Shell diễn dịch chuyển tới nhân Linux Nói cách dễ hiểu Shell diễn dịch ngôn ngữ lệnh, tận dụng triệt để trình tiện ích chương trình ứng dụng có hệ thống… Việc thao tác trực tiếp tới kernel phức tạp đòi hỏi ký thuật cao, để trách phức tạp cho người sử dụng để bảo vệ kernel từ sai sót người sử dụng, shell xây dựng thành lớp bao quanh kernel Người sử dụng gửi yêu cầu tới shell, shell biên dịch chúng său gửi tới kernel Chúng đơn giản, mạnh mẽ giúp ích nhiều cho lập trình viên tiếp cận với công cụ phát triển ứng dụng hệ điều hành Linux sau Ngôn ngữ Shell ngôn ngữ bạn thường xuyên phải sử dụng để điều khiển Linux Linux UNIX tách biệt ứng dụng lệnh triệu gọi kernel thành đơn thể nhỏ Tuy nhiên, nhiều lệnh Linux kết hợp lại với để tọa nên chức tổng hợp mạnh mẽ Ví dụ: $ ls -al | more, lệnh kết hợp hai lệnh, ls liệt kê toàn danh sách file directory đĩa hình, danh sách dài, ls chuyển liệu kết xuất cho lệnh more xử lý hiển thị kết thành trang hình Linux có cách kết hợp liệu kết xuất lệnh với thông qua chế chuyển tiếp (redirect), ống dẫn (pipe) Kết hợp lệnh với dòng lệnh không chưa đủ Nếu bạn muốn tổ hợp 20 lệnh Linux đồng thời với tùy vào điều kiện, kết xuất lệnh mà có ứng xử thích hợp sao? Bạn phải dùng đến cấu trúc lập trình rẽ nhánh if, case Trường hợp bạn muốn thực thao tác lập trình bạn phải dùng lệnh for, while Shell trình biên dịch cung cấp cho bạn khả Hầu hết Shell Linux sử dụng ngôn ngữ gần giống với C (điều dễ hiểu giới Linux UNIX có C ngôn ngữ lập trình thống trị Ngôn ngữ Shell giống C lập trình viên hay người điều khiển Linux cảm thấy thân thiện với HĐH) Shell dịch lệnh mà bạn nhập vào thành lời gọi hệ thống, chuyển ký hiệu dẫn hướng “>”,” >>” hay “|” thành liệu di chuyển lệnh Đọc biến môi trường để tìm thông tin thực thi lệnh Linux cung cấp cho bạn nhiều chương trình Shell Mở rộng ngôn ngữ kịch dùng lập trình Shell nhiên chúng không khác Một quen thuộc với Shell cách hoạt Nhóm – Lớp 1101NWMG0411 15 Apr 25 Kiến trúc tổng quát hệ điều hành Linux động chúng bạn hoàn toàn làm chủ Shell khác cách dễ dàng: - Sh (Bourne): Shell nguyên thủy áp dụng cho UNIX - Csh, tcsh zsh: Shell sử dụng cấu trúc lệnh C làm ngôn ngữ script Được tạo Bill Joy Là Shell tiếng thông dụng thứ hai sau shell bash - Bash: Shell chủ yếu Linux Ra đời từ dự án GNU Bash (Viết tắt Bourne Again Shell) có lợi điểm mã nguồn công bố rộng rãi- RC: Shell mở rộng csh với nhiều tương thích với ngôn ngữ C RC đời từ dự án GNU Chuẩn thường nhà phân phối Linux sử dụng bash Shell Khi cài đặt Linux, trình cài đặt thường mặc định bash Shell khởi động Bạn tìm thấy chương trình Shell thư mục /bin với tên chương trình bash (lưu ý chương trình thực thi Linux không cần phải mang định dạng exe DOS) Bash chương trình nhị phân (binary), script gọi đến liên kết nhị phân khác Bạn dùng lệnh file để xem bash tập tin nhị phân hay script sau: $ file /bin/bash Nếu kết kết xuất dạng ELF có nghĩa bash chương trình nhị phân NHÂN HỆ ĐIỀU HÀNH (KERNEL) 3.1 Nhân Linux Khái niệm kernel nói đến phần mềm, ứng dụng mức thấp (lowlevel) hệ thống, có khả thay đổi linh hoạt để phù hợp với phần cứng Chúng tương tác với tất ứng dụng hoạt động chế độ user mode, cho phép trình khác – hay gọi server, nhận thông tin từ thành phần khác qua inter-process communication (IPC) Về chất, có nhiều cách để xây dựng cấu trúc biên dịch kernel định từ đầu Nhìn chung, với hầu hết kernel nay, chia làm loại: monolithic, microkernel, hybrid Linux sử dụng kernel monolithic OS X (XNU) Windows sử dụng kernel hybrid a Microkernel: Microkernel có đầy đủ tính cần thiết để quản lý vi xử lý, nhớ IPC Có nhiều thứ khác máy tính nhìn thấy, tiếp xúc quản lý chế độ người dùng Microkernel có tính linh hoạt cao, bạn lo lắng thay đổi thiết bị đó, ví dụ card hình, ổ cứng lưu trữ chí hệ điều hành Microkernel với thông số liên quan footprint nhỏ, tương tự với nhớ dung lượng lưu trữ, chúng có tính bảo mật cao định rõ ràng tiến trình hoạt động chế độ user mode, mà không cấp quyền chế độ giám sát - supervisor mode Ưu điểm: - Tính linh hoạt cao - Bảo mật - Sử dụng footprint cài đặt lưu trữ Nhược điểm: - Phần cứng “khó hiểu” thông qua hệ thống driver - Phần cứng hoạt động mức hiệu suất thông thường trình điều khiển chế độ user mode Nhóm – Lớp 1101NWMG0411 16 Apr 25 Kiến trúc tổng quát hệ điều hành Linux - Các tiến trình phải chờ đợi để nhận thông tin - Các tiến trình truy cập tới ứng dụng khác mà chờ đợi b Monolithic Kernel: Với Monolithic khác, chúng có chức bao quát rộng so với microkernel, không tham gia quản lý vi xử lý, nhớ, IRC, chúng can thiệp vào trình điều khiển driver, tính điều phối file hệ thống, giao tiếp qua lại server Monolithic tốt truy cập tới phần cứng đa tác vụ, chương trình muốn thu thập thông tin từ nhớ tiến trình khác, chúng cần có quyền truy cập trực tiếp chờ đợi tác vụ khác kết thúc Nhưng đồng thời, chúng nguyên nhân gây bất ổn nhiều chương trình chạy chế độ supervisor mode hơn, cần cố nhỏ khiến cho hệ thống ổn định Ưu điểm: - Truy cập trực tiếp đến phần cứng - Dễ dàng xử lý tín hiệu liên lạc nhiều thành phần với - Nếu hỗ trợ đầy đủ, hệ thống phần cứng không cần cài đặt thêm driver phần mềm khác - Quá trình xử lý tương tác nhanh không cần phải chờ đợi Nhược điểm: - Tiêu tốn nhiều footprint cài đặt lưu trữ - Tính bảo mật tất hoạt động chế độ giám sát supervisor mode c Hybrid Kernel: Khác với loại kernel trên, Hybrid có khả chọn lựa định ứng dụng phép chạy chế độ user supervisor Thông thường, thứ driver file hệ thống I/O hoạt động chế độ user mode IPC gói tín hiệu từ server giữ lại chế độ supervisor Tính thực có ích chúng đảm bảo tính hiệu hệ thống, phân phối điều chỉnh công việc phù hợp, dễ quản lý Ưu điểm: - Các nhà phát triển chọn phân loại ứng dụng chạy chế độ thích hợp - Sử dụng footprint so với monolithic kernel - Có tính linh hoạt động cao Nhược điểm: - Có thể bị bỏ lại trình gây treo hệ thống tương tự với microkernel - Các trình điều khiển thiết bị phải quản lý người dùng 3.2 Vậy file Linux Kernel đâu? Các file kernel này, Ubuntu chúng lưu trữ thư mục /boot đặt tên theo vmlinuz-version Khi nhớ ảo bắt đầu phát triển để thực tác vụ đa luồng, tiền tố vm đặt vào đầu file kernel để phân biệt khả hỗ trợ công nghệ ảo hóa Kể từ đó, Linux kernel gọi vmlinux, hệ thống kernel phát triển với tốc độ nhanh, lớn so với dung lượng nhớ boot chuẩn hệ điều hành, file kernel nén theo chuẩn zlib – ký tự z thêm vào Ngoài số định dạng Nhóm – Lớp 1101NWMG0411 17 Apr 25 Kiến trúc tổng quát hệ điều hành Linux nén thường gặp khác LZMA BZIP2, chúng gọi chung zImage Các phiên xếp thứ tự theo định dạng A.B.C.D, A.B thường 2.6, C đại diện cho phiên bản, D ký hiệu vá lỗi patch: Trong thư mục /boot có nhiều file quan trọng khác như, initrd.imgversion, system.map-version, config-version File initrd dùng ổ đĩa RAM để giải nén kích hoạt file kernel thực sự, file system.map dùng để quản lý nhớ trước kernel tải đầy đủ, file config làm nhiệm vụ thông báo cho kernel biết lựa chọn module nạp vào trình hệ thống khởi động Cấu trúc file Linux Kernel Thực tế, Windows có tất trình điều khiển sẵn có người sử dụng việc kích hoạt trình điều khiển tương ứng để sử dụng Và nhiệm vụ module kernel Linux đảm nhiệm, hay gọi loadable kernel module (LKM), cần thiết để giữ chức kèm với toàn hệ thống phần cứng hoạt động mà không ảnh hưởng đến nhớ module thông thường gán chức tới kernel điều khiển driver, file hệ thống LKM có phần đuôi mở rộng ko lưu trữ thư mục /lib/modules, người sử dụng thiết lập thuộc tính tự khởi động, cho phép tải không hệ điều hành khởi động, cách dùng lệnh menuconfig, can thiệp vào file /boot/config, cách sử dụng lệnh modprobe CÁC DỊCH VỤ CỦA HỆ ĐIỀU HÀNH Trong hình mô tả lớp kernel, cho thấy lớp kernel nằm bên lớp trình ứng dụng người dùng Kernel thực vô số thao tác (primitives) thay mặt cho tập tin nguời dùng để hỗ trợ cho giao diện người dùng Các thao tác bao hàm dịch vụ mà kernel cấp Đó dịch vụ: Nhóm – Lớp 1101NWMG0411 18 Apr 25 Kiến trúc tổng quát hệ điều hành Linux 4.1 Quản lý tập tin Kiểm soát tập tin gồm có: cho phép tạo tập tin mới, kết thúc tập tin, treo việc thwucj trao đổi thông điệp tập tin Dịch vụ cho phép lập biểu để tập tin thực CPU Các tập tin chia sẻ CPU theo phương thức phân chia thời gian, tập tin bị treo sau thời gian phân bổ hết, Kernel lấy tập tin khác đưa vào thực Sau Kernel lại lựa chọn tập tin bị treo để đưa vào thực trở lại 4.2 Quản lý tài nguyên Cấp phát nhớ cho tập tin thực hiện, cho phép tập tin chia sẻ không gian địa tập tin điều kiện định, bảo vệ miền địa riêng tập tin tập tin khác Nếu hệ thống chạy hoàn cảnh thiếu nhớ, kernel giải phóng nhớ cách ghi lại tập tin tạm thời vào nhớ dự phòng (còn gọi thiết bị swap) Nếu toàn tập tin ghi vào swap, hệ Unix gọi hệ tráo đổi (swapping system); Nếu Kernel ghi trang nhớ lên swap, hệ gọi hệ lưu trang (paging system) Ngoài ra, Hệ điều hành Linux cấp phát nhớ thứ cấp để cất tìm lại liệu người dùng có hiệu Dịch vụ cấu tạo nên hệ thống tệp Kernel cấp vùng nhớ thứ cấp cho tệp người dùng, khôi phục lại vùng nhớ, xây dựng cấu trúc tệp theo cách thức hiểu được, bảo vệ tệp người dùng trước truy nhập bất hợp pháp 4.3 Quản lý thiết bị truy xuất Cho phép tập tin truy nhập thiết bị ngoại vi, ví dụ t/b đầu cuối, đĩa, t/b mạng Kernel cung cấp dịch vụ cách thông suốt, chẳng hạn kernel ghi nhận tệp cần thao tác thuộc loại tệp bình thường hay tệp thiết bị, ẩn điều tập tin người dùng; hay ví dụ, kernel tạo khuôn liệu tệp để ghi (đĩa), lại ẩn khuôn dạng tập tin người dùng (user) Tương tự dịch vụ hệ thống cung cấp cho tập tin user dùng mức độ cấp người dùng Ví dụ dịch vụ hệ thống mà shell dùng để đóng vai trò trình thông dịch lệnh: cho phép shell đọc đầu vào từ t/b đầu cuối, phát sinh động tập tin, đồng việc thực tập tin, tạo pipe, đổi hướng I/O Người dùng cấu tạo phiên shell riêng mà không tác động tới users khác Các trình dùng dịch vụ kernel mức shell chuẩn 4.4 Xác định xử lý lỗi Hệ điều hành liên tục yêu cầu nhận biết lỗi phát sinh Các lỗi xảy CPU phần cứng nhớ (như lỗi nhớ hay lỗi điện), thiết bị xuất/nhập (như lỗi chẳn lẻ băng từ, lỗi nối kết mạng, hết giấy in) chương trình người dùng (như tràn số học, cố gắng truy xuất vị trí nhớ không hợp lệ, dùng nhiều thời gian CPU) Đối với loại lỗi, hệ điều hành nên thực hoạt động hợp lý để đảm bảo tính toán không đổi Do Linux phát triển hàng ngàn lập trình viên, họ công bố mã nguồn cách rộng rãi, quan tâm xem xét, lỗi nhanh chóng khắc phục Việc khắc phục lỗi sau: Khi gặp lỗi người sử dụng tìm xem có sửa lỗi tải về, đề nghị sửa lỗi với tác giả, không mang lại kết tự sửa lấy Các lỗi khắc phục nhanh, có vòng vài phút sau thông báo Có thể đổi hãng cung cấp linux muốn Một linux thường nhiều chuyên gia kiểm tra trước tung thị trường Nhóm – Lớp 1101NWMG0411 19 Apr 25 Kiến trúc tổng quát hệ điều hành Linux 4.5 Giao tiếp với người sử dụng Mặc dù Linux Hệ điều hành mạnh phát triển, làm việc qua giao diện dòng lệnh lĩnh trở thành khó sử dụng hấp dẫn nhiều người dùng Người dùng phải nhớ danh sách dài câu lệnh Do từ ngày đầu phát triển Linux có giao diện khác “thân thiện” với người dùng hơn, giao diện đồ họa Trong giao diện đồ họa người dùng chạy chúng hệ thống trình đơn (menu), hệ thống biểu tượng hình, có khả sử dụng chuột để xếp không gian hình Hiện môi trường làm việc lớn KDE, GNOME có sẵn ứng dụng kèm giúp người dùng không nhiều thời gian lựa chọn Mọi thứ có sẵn 4.6 Các dịch vụ hệ thống Ngoài ra, tập chức khác hệ điều hành tồn không giúp người dùng, đảm bảo điều hành hữu hiệu hệ thống Các hệ thống với nhiều người dùng đạt tính hữu hiệu cách chia sẻ tài nguyên máy tính người dùng * Cấp phát tài nguyên: nhiều người dùng đăng nhập vào hệ thống hay nhiều công việc chạy lúc, tài nguyên phải cấp tới người dùng Nhiều loại tài nguyên khác quản lý hệ điều hành Một số tài nguyên (như chu kỳ CPU, nhớ chính, lưu trữ tập tin) có mã cấp phát đặt biệt, trái lại tài nguyên khác (như thiết bị xuất/nhập) có mã yêu cầu giải phóng thường Thí dụ, xác định cách tốt để dùng CPU, hệ điều hành có thủ tục định thời biểu CPU Các thủ tục xem xét tốc độ CPU, công việc phải thực thi, số ghi sẳn dùng yếu tố khác Cũng có thủ tục cấp phát ổ băng từ để dùng cho công việc Một thủ tục định vị ổ băng từ chưa dùng đánh dấu bảng bên để ghi người dùng ổ băng từ Một thủ tục khác dùng để xoá bảng Các thủ tục cấp phát máy vẽ, modem, thiết bị ngoại vi khác * Tính toán: muốn giữ vết người dùng sử dụng loại tài nguyên máy tính Giữ vết dùng để tính toán (tính tiền người dùng) hay đơn giản thống kê sử dụng Thống kê sử dụng công cụ có giá trị cho người nghiên cứu muốn cấu hình lại hệ thống để cải tiến dịch vụ tính toán * Bảo vệ: người sở hữu thông tin lưu hệ thống máy tính đa người dùng muốn điều khiển thông tin Khi nhiều trình riêng rẻ thực thi đồng hành, cho trình can thiệp tới trình khác hay tới hệ điều hành Bảo vệ đảm bảo tất truy xuất tài nguyên hệ thống kiểm soát An toàn hệ thống từ người dùng bên vấn đề quan trọng An toàn bắt đầu với người dùng có quyền hệ thống, thường mật để phép truy xuất tài nguyên Mở rộng việc bảo vệ thiết bị xuất/nhập bên ngoài, bao gồm modem, card mạng từ truy xuất không hợp lệ, ghi lại nối kết để phát đột nhập vào hệ thống Nếu hệ thống bảo vệ bảo mật, cảnh báo phải thiết lập xuyên suốt LỜI GỌI HỆ THỐNG Một gọi hệ thống yêu cầu tác vụ chạy cho hạt nhân để cung cấp số loại dịch vụ thay mặt Nhìn chung, dịch vụ hạt nhân gọi gọi hệ thống bao gồm lớp trừu tượng hóa phần cứng người sử dụng không gian chương trình, cho phép lập trình để thực môi trường hoạt động mà không cần phải chỉnh chương trình (s) đặc biệt để thương hiệu kết hợp cụ thể xác thành phần hệ Nhóm – Lớp 1101NWMG0411 20 Apr 25 Kiến trúc tổng quát hệ điều hành Linux thống phần cứng Hệ thống gọi phục vụ chức khái quát ngôn ngữ lập trình, ví dụ như, gọi hệ thống đọc đọc liệu từ mô tả tập tin Để lập trình viên, điều giống chức C, thực tế, mã để đọc chứa hạt nhân Các CPU ia32 công nhận hai lớp học kiện cần ý xử lý đặc biệt: ngắt ngoại lệ Cả hai gây ngữ cảnh buộc phải chuyển sang quy trình công việc Ngắt: Gián đoạn xảy vào thời điểm bất ngờ trình thực chương trình sử dụng để đáp ứng với tín hiệu, chúng dấu hiệu cho thấy quan tâm xử lý cần thiết từ phần cứng Khi thiết bị phần cứng vấn đề ngắt, xử lý ngắt tìm thấy hạt nhân Tháng tới, thảo luận gián đoạn cụ thể Hai nguồn ngắt công nhận ia32: ngắt maskable, vectơ xác định phần cứng, không maskable ngắt (NMI ngắt, NMIs) Ngoại lệ: Ngoại lệ hai xử lý-phát phát hành (ném) từ phần mềm Khi thủ tục phương pháp gặp tình trạng bất thường (một điều kiện ngoại lệ) xử lý, ném ngoại lệ Ngoại lệ hai loại đánh bắt thói quen xử lý (_exception handlers_) đặt dọc theo đề thủ tục hay gọi phương pháp ngăn xếp Điều thủ tục gọi điện thoại phương pháp, điều không bao gồm mã để xử lý điều kiện ngoại lệ, gọi thủ tục phương pháp vv Nếu chủ đề chương trình bạn ném ngoại lệ đánh bắt thủ tục (hay phương pháp), sau đề hết hạn Một ngoại lệ cho thủ tục gọi tình trạng bất thường (mặc dù không thiết phải hiếm) xảy ra, ví dụ, phương pháp gọi với tham số không hợp lệ Khi bạn ném ngoại lệ, bạn thực loại cấu trúc "đi" từ nơi chương trình bạn, nơi điều kiện bất thường phát đến nơi mà xử lý xử lý ngoại lệ nên đóng quân cấp module chương trình theo cách tổng quát loạt lỗi có khả xử lý cách mà xử lý vài trường hợp ngoại lệ trải rộng loạt trường hợp ngoại lệ gặp phải lĩnh vực ứng dụng chương trình Hệ thống Linux giao diện gọi vector thông qua stub libc (thường glibc) độc quyền "đăng ký-parametered", tức ngăn xếp không sử dụng cho truyền thông số Mỗi gọi thư viện libc nói chung syscall X vĩ mô, X số tham số sử dụng thói quen thực tế Trong Linux, việc thực gọi hệ thống gọi chuyển cấp maskable ngắt ngoại lệ (ví dụ, "ném" đối tượng ngoại lệ), gây giảng dạy 0x80 0x80 Vector sử dụng để chuyển điều khiển cho hạt nhân Điều vector ngắt khởi tạo trình khởi động hệ thống, với vectơ quan trọng khác vector đồng hồ hệ thống Trong trường hợp nhiều thông số cần thiết, cấu số đặt nơi bạn muốn không gian địa bạn đến từ đăng ký (không phải trỏ lệnh, không ngăn xếp trỏ, chức hạt nhân, không gian sử dụng ngăn xếp cho tham số biến cục bộ) Nhóm – Lớp 1101NWMG0411 21 Apr 25 Kiến trúc tổng quát hệ điều hành Linux TỔNG KẾT Sau tìm hiểu kiến trúc tổng quát Hệ điều hành Linux, bạn có cảm nhận khác Linux Nhưng nói chung, vấn đề liên quan bao gồm vấn đề sau đây: Về người dùng, nhiều người nghĩ người dùng hệ điều hành phải người thành thạo: Về mặt này, nghĩ hạn chế lớn, xin thưa với bạn hoàn toàn Linux hệ điều hành có trọng tâm hướng tới đối tượng dùng người phổ thông Thế nên, không cần phải người dùng thành thạo sử dụng Linux Vấn đề nằm người dùng, người dùng máy vi tính, hầu hết số dùng hệ điều hành Windows, vậy, họ mang nặng tư tưởng Windows Thế nên có đổi khác, người thích nghi chậm chạp Nhưng tin người trì dùng hệ điều hành thời gian ngắn, khoảng tuần lâu tuần, người thấy việc sử dụng hệ điều hành không khó người nghĩ Thậm chí dễ cách người dùng Windows trước Linux hố trợ phần cứng tốt, chạy đưuọc hầy hết tất cấu trúc máy tinh Linux chạy máy tính sản xuất từ năm 1995 đến máy đại Với máy tính cũ kỹ, người không chạy Windows XP, xin đừng vứt đi, người cài Hệ điều hành Linux, hoạt động tốt mang lại nhiều giá trị đống sắt vụn! Chỉ có vấn đề đáng lưu tâm số người dùng không 1%, Linux không mang tính phổ biến cao Phần người mang nặng tư tưởng Windows nên muốn thay đổi qua Linux Vì họ không chọn Linux Nhưng với xu hướng phát triển nay, Linux nhnah chóng chiệm thị phần lớn chí đánh gục gã khổng lồ Windows Bằng chứng nay, Windows nhận xét Linux đối thủ đáng lo ngai Mac OS Apple Với số 1% xin người đừng lo lắng cô đơn, vài triệu người dùng máy tính số gắn kết chặt thứ mà người ta gọi “cộng đồng” Qua bà trình này, hy vọng người có cách hiểu tổng quát Hệ điều hành nói chung Hệ điều hành Linux nói riêng, từ đó, thực đam mê có khả năng, người tiếp tục phát triển hoàn thiện Hệ điều hành Linux, coi Hệ điều hành cộng đồng Nhóm – Lớp 1101NWMG0411 22 Apr 25 Kiến trúc tổng quát hệ điều hành Linux NHỮNG TÀI LIỆU THAM KHẢO SỬ DỤNG TRONG BÀI THẢO LUẬN: Ebook Tự học sử dụng Linux – tác giả Phan Vĩnh Thịnh Kiến trúc UNIX/Linux – đại học dân lập Thăng Long Kiến thức tổng quan Linux – đại học Công nghệ Thành phố Hồ Chí Minh Tổng quan hệ điều hành – đại học Thương mại Kiến thức chung Hệ điều hành – www.hedieuhanh.forumvi.net www.linuxviet.com www.ddth.com www.hoclinux.net www.nhipsongso.vn 10 www.vn-zoom.com 11 www.ubuntu-vn.org Nhóm – Lớp 1101NWMG0411 23 [...]... Hệ điều hành Linux, vẫn được coi là một Hệ điều hành của cộng đồng Nhóm 1 – Lớp 1101NWMG0411 22 Apr 25 Kiến trúc tổng quát về hệ điều hành Linux NHỮNG TÀI LIỆU THAM KHẢO SỬ DỤNG TRONG BÀI THẢO LUẬN: 1 Ebook Tự học và sử dụng Linux – tác giả Phan Vĩnh Thịnh 2 Kiến trúc UNIX /Linux – đại học dân lập Thăng Long 3 Kiến thức tổng quan về Linux – đại học Công nghệ Thành phố Hồ Chí Minh 4 Tổng quan về hệ điều. .. Nhóm 1 – Lớp 1101NWMG0411 21 Apr 25 Kiến trúc tổng quát về hệ điều hành Linux TỔNG KẾT Sau khi tìm hiểu về kiến trúc tổng quát của Hệ điều hành Linux, các bạn có thể sẽ có những cảm nhận khác nhau về Linux Nhưng nói chung, các vấn đề liên quan bao gồm những vấn đề sau đây: Về người dùng, nhiều người nghĩ rằng người dùng được hệ điều hành này phải là người thành thạo: Về mặt này, ai cũng nghĩ đây là một... vài phút sau khi được thông báo Có thể đổi hãng cung cấp linux nếu muốn Một bản linux thường được rất nhiều chuyên gia kiểm tra trước khi tung ra thị trường Nhóm 1 – Lớp 1101NWMG0411 19 Apr 25 Kiến trúc tổng quát về hệ điều hành Linux 4.5 Giao tiếp với người sử dụng Mặc dù Linux là Hệ điều hành mạnh và phát triển, nhưng nếu chỉ làm việc qua giao diện dòng lệnh thì lĩnh trở thành khó sử dụng và không... hỗ trợ công nghệ ảo hóa Kể từ đó, Linux kernel được gọi là vmlinux, nhưng hệ thống kernel này đã phát triển với tốc độ quá nhanh, lớn hơn so với dung lượng bộ nhớ boot chuẩn của hệ điều hành, vì vậy những file kernel này đã được nén theo chuẩn zlib – và ký tự z được thêm vào là do như vậy Ngoài ra còn 1 số định dạng Nhóm 1 – Lớp 1101NWMG0411 17 Apr 25 Kiến trúc tổng quát về hệ điều hành Linux nén thường... và sử dụng cùng những lời gọi hệ thống để thao Nhóm 1 – Lớp 1101NWMG0411 11 Apr 25 Kiến trúc tổng quát về hệ điều hành Linux 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 Đầu vào và đầu ra (I / O) là trung tâm của bất kỳ thiết bị máy vi tính nào Cũng như các hệ điều hành khác, Linux hỗ trợ một loạt các thiết...Apr 25 Kiến trúc tổng quát về hệ điều hành Linux điều hành dòng UNIX Tiêu chuẩn này được gọi là Filesystem Hierarchy Standart (FHS) Công dụng của các thư mục chính trong Linux: Thư mục Công dụng /bin Thư mục này gồm chủ yếu các chương trình, phần lớn trong số chúng cần cho hệ thống trong thời gian khởi động (hoặc trong chế độ một người dùng khi bảo trì hệ thống) Ở đây có lưu rất... cuộc gọi hệ thống bao gồm một lớp trừu tượng hóa giữa phần cứng và người sử dụng không gian các chương trình, cho phép một lập trình để thực hiện một môi trường hoạt động mà không cần phải chỉnh chương trình của mình (s) quá đặc biệt để thương hiệu duy nhất hoặc kết hợp cụ thể chính xác các thành phần hệ Nhóm 1 – Lớp 1101NWMG0411 20 Apr 25 Kiến trúc tổng quát về hệ điều hành Linux thống phần cứng Hệ thống... thay đổi thành phần của một nhóm nào đó Thành viên của các nhóm khác nhau có thể có quyền truy cập khác nhau đến tập tin, ví dụ nhóm các nhà quản trị có quyền nhiều hơn so với nhóm các nhà lập trình 2.2.3 Quản lý hệ thống xuất nhập I/O Như đã đề cập trong bài học tổng quan về Hệ điều hành, 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... Linux là Hệ điều hành nhiều người dùng, nên yêu cầu quy định truy cập đến các tập tin và thư mục là một trong những yêu cầu thiết yếu nhất mà Hệ điều hành phải giải quyết Cơ sở của cơ chế quy định quyền truy cập đó là tên người dùng và tên nhóm của người dùng Trong Linux mỗi người dùng có một tên riêng không lặp lại dùng để đăng nhập vào hệ thống Ngoài ra, trên hệ thống còn có nhóm người dùng, và Linux. .. gọi bởi lớp nghi thức) Nhóm 1 – Lớp 1101NWMG0411 12 Apr 25 Kiến trúc tổng quát về hệ điều hành Linux 2.2.4 Quản lý bộ nhớ thứ cấp Vì mỗi từ nhớ trong bộ nhớ chính được truy xuất trực tiếp với thời gian rất ngắn, giá thành của bộ nhớ chính tương đối cao Do đó hầu hết các máy tính đều có thêm các thiết bị lưu trữ (bộ nhớ phụ) tốc độ thấp, rẻ hơn và thường có dung lượng lớn hơn nhiều Cần hệ thống lưu trữ

Ngày đăng: 24/07/2016, 08:26

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan