Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình Hệ điều hành là một chương trình
MỤC LỤC Hệ điều hành chương trình quản lý phần cứu máy tính Nó cung cấp tảng cho chương trình ứng dụng đóng vai trò trung gian giao tiếp người dùng máy tính phần cứng máy tính Nó giúp máy tính dễ sử dụng hơn, thuận lợi hiệu Tài nguyên máy tính mà điển hình hệ sở liệu (Database System) có ảnh hưởng nhiều tới tính hiệu việc sử dụng máy tính Mà hệ thống file hệ thống chủ yếu Bởi quản lí hệ thống file có ảnh hưởng lớn trực tiếp tới hiệu sử dụng máy tính Việc quản lí hệ thống file xây dựng tổ chức tùy thuộc vào hệ điều hành Sau nhóm chúng em xin trình bày vấn đề: Quản lý hệ thống tập tin hệ điều hành Linux Các tài liệu tham khảo: Running Linux nhà xuất O’REILLY Giáo trình nguyên lý hệ điều hành nhà xuất Hà Nội The Linux Device File – System tác giả Rechard Gooch Giáo trình nguyên lý hệ điều hành – Trường Đại học Công Nghiệp Hà Nội, Khoa Công Nghệ Thông Tin Và số trang web trực tiếp khác Mặc dù cố gắng hạn chế thời gian, trình độ, nguồn số liệu nên chắn viết không tránh khỏi sai sót khách quan Chúng em mong thầy bạn tận tình bảo để chúng em rút kinh nghiệm Chúng em xin chân thành cám ơn! CHƯƠNG 1: TỔNG QUAN VỀ NGUYÊN LÝ HỆ ĐIỀU HÀNH 1.1 Khái niệm hệ điều hành: Hệ điều hành chương trình hay hệ chương trình hoạt động người sử dụng (user) phần cứng máy tính Mục tiêu hệ điều hành cung cấp môi trường để người sử dụng thi hành chương trình Nó làm cho máy tính dể sử dụng hơn, thuận lợi hiệu Hệ điều hành phần quan trọng hầu hết hệ thống máy tính Một hệ thống máy tính thường chia làm bốn phần : phần cứng, hệ điều hành, chương trình ứng dụng người sử dụng Phần cứng bao gồm CPU, nhớ, thiết bị nhập xuất, tài nguyên máy tính Chương trình ứng dụng chương trình dịch, hệ thống sở liệu, trò chơi, chương trình thương mại Các chương trình sử dụng tài nguyên máy tính để giải yêu cầu người sử dụng Hệ điều hành điều khiển phối hợp việc sử dụng phần cứng cho ứng dụng khác nhiều người sử dụng khác Hệ điều hành cung cấp môi trường mà chương trình làm việc hữu hiệu Hình 1.1 Mô hình trừu tượng hệ thống máy tính Hệ điều hành coi phân phối tài nguyên máy tính Nhiều tài nguyên máy tính thời gian sử dụng CPU, vùng nhớ, vùng lưu trữ tập tin, thiết bị nhập xuất v.v… chương trình yêu cầu để giải vấn đề Hệ điều hành hoạt động quản lý tài nguyên phân phối chúng cho chương trình người sử dụng cần thiết Do có nhiều yêu cầu, hệ điều hành phải giải vấn đề tranh chấp phải định cấp phát tài nguyên cho yêu cầu theo thứ tự để hoạt động máy tính hiệu Một hệ điều hành coi chương trình kiểm soát việc sử dụng máy tính, đặc biệt thiết bị nhập xuất Tuy nhiên, nhìn chung chưa có định nghĩa hoàn hảo hệ điều hành Hệ điều hành tồn để giải vấn đề sử dụng hệ thống máy tính Mục tiêu giúp cho việc thi hành chương trình dễ dàng Mục tiêu thứ hai hỗ trợ cho thao tác hệ thống máy tính hiệu Mục tiêu đặc biệt quan trọng hệ thống nhiều người dùng hệ thống lớn(phần cứng + quy mô sử dụng) Tuy nhiên hai mục tiêu có phần tương phản lý thuyết hệ điều hành tập trung vào việc tối ưu hóa việc sử dụng tài nguyên máy tính 1.2 Phân loại hệ điều hành: 1.2.1 Hệ thống xử lý theo lô: Bộ giám sát thường trực : Khi công việc chấm dứt, hệ thống thực công việc mà không cần can thiệp người lập trình, thời gian thực mau Một chương trình, gọi giám sát thường trực thiết kế để giám sát việc thực dãy công việc cách tự động, chương trình luôn thường trú nhớ Hệ điều hành theo lô thực công việc theo thị định trước CPU thao tác nhập xuất : CPU thường hay nhàn rỗi tốc độ làm việc thiết bị nhập xuất (thường thiết bị cơ) chậm nhiều lần so với thiết bị điện tử Cho dù CPU chậm nhất, nhanh nhiều lần so với thiết bị nhập xuất Do phải có phương pháp để đồng hóa việc hoạt động CPU thao tác nhập xuất Xử lý off_line : Xử lý off_line thay CPU phải đọc trực tiếp từ thiết bị nhập xuất thiết bị xuất, hệ thống dùng lưu trữ trung gian CPU thao thác với phận Việc đọc hay xuất đến từ lưu trữ trung gian Spooling : Spool (simultaneous peripheral operation on-line) đồng hóa thao tác bên on-line Cơ chế cho phép xử lý CPU on-line, sử dụng đĩa để lưu liệu nhập xuất 1.2.2 Hệ thống xử lý theo lô đa chương: Khi có nhiều công việc truy xuất lên thiết bị, vấn đề lập lịch cho công việc cần thiết Khía cạnh quan trọng việc lập lịch khả đa chương Đa chương (multiprogram) gia tăng khai thác CPU cách tổ chức công việc cho CPU luôn phải tình trạng làm việc Ý tưởng sau : hệ điều hành lưu giữ phần công việc nơi lưu trữ nhớ CPU thực phần công việc Khi thực hiện, có yêu cầu truy xuất thiết bị CPU không nghỉ mà thực tiếp công việc thứ hai… Với hệ đa chương hệ điều hành định cho người sử dụng vậy, hệ điều hành đa chương tinh vi Hệ phải xử lý vấn đề lập lịch cho công việc, lập lịch cho nhớ cho CPU 1.2.3 Hệ thống chia xẻ thời gian Hệ thống chia xẻ thời gian mở rộng logic hệ đa chương Hệ thống gọi hệ thống đa nhiệm (multitasking) Nhiều công việc thực thông qua chế chuyển đổi CPU hệ đa chương thời gian lần chuyển đổi diễn nhanh Hệ thống chia xẻ phát triển để cung cấp việc sử dụng bên máy tính có giá trị Hệ điều hành chia xẻ thời gian dùng lập lịch CPU đa chương để cung cấp cho người sử dụng phần nhỏ máy tính chia xẻ Một chương trình thi hành gọi tiến trình Trong trình thi hành tiến trình, phải thực thao tác nhập xuất khoảng thời gian CPU thi hành tiến trình khác Hệ điều hành chia xẻ cho phép nhiều người sử dụng chia xẻ máy tính cách đồng thời gian chuyển đổi nhanh nên họ có cảm giác tiến trình thi hành lúc Hệ điều hành chia xẻ phức tạp hệ điều hành đa chương Nó phải có chức : quản trị bảo vệ nhớ, sử dụng nhớ ảo Nó cung cấp hệ thống tập tin truy xuất on-line… Hệ điều hành chia xẻ kiểu hệ điều hành đại ngày 1.2.4 Hệ thống song song Ngoài hệ thống có xử lý có hệ thống có nhiều xử lý chia xẻ hệ thống đường truyền liệu, đồng hồ, nhớ thiết bị ngoại vi Các xử lý liên lạc bên với Có nhiều nguyên nhân xây dựng dạng hệ thống Với gia tăng số lượng xử lý, công việc thực nhanh chóng hơn, Nhưng theo tỉ lệ thời gian, nghĩa có n xử lý nghĩa thực nhanh n lần Hệ thống với máy nhiều xử lý tối ưu hệ thống có nhiều máy có xử lý xử lý chia xẻ thiết bị ngoại vi, hệ thống lưu trữ, nguồn … thuận tiện cho nhiều chương trình làm việc tập hợp liệu Một lý độ tin cậy Các chức xử lý nhiều xử lý hỏng hóc xử lý không ảnh hưởng đến toàn hệ thống Hệ thống đa xử lý thông thường sử dụng cách đa xử lý đối xứng, cách xử lý chạy với hệ điều hành, liên lạc với cần thiết Một số hệ thống sử dụng đa xử lý bất đối xứng, xử lý giao công việc riêng biệt Một xử lý kiểm soát toàn hệ thống, xử lý khác thực theo lệnh xử lý theo thị định nghĩa trước Mô hình theo dạng quan hệ chủ tớ Bộ xử lý lập lịch cho xử lý khác Một ví dụ hệ thống xử lý đối xứng version Encore UNIX cho máy tính Multimax Hệ thống có hàng tá xử lý Ưu điểm nhiều tiến trình thực lúc Một hệ thống đa xử lý cho phép nhiều công việc tài nguyên chia xẻ tự động xử lý khác Hệ thống đa xử lý không đồng thường xuất hệ thống lớn, hầu hết thời gian hoạt động dành cho xử lý nhập xuất 1.2.5 Hệ thống phân tán Hệ thống tương tự hệ thống chia xẻ thời gian xử lý không chia xẻ nhớ đồng hồ, thay vào xử lý có nhớ cục riêng Các xử lý thông tin với thông qua đường truyền thông bus tốc độ cao hay đường dây điện thoại Các xử lý hệ phân tán thường khác kích thước chức Nó bao gồm máy vi tính, trạm làm việc, máy mini, hệ thống máy lớn Các xử lý thường tham khảo với nhiều tên khác site, node, computer v.v tùy thuộc vào trạng thái làm việc chúng Các nguyên nhân phải xây dựng hệ thống phân tán là: Chia xẻ tài nguyên : Một người sử dụng A sử dụng máy in laser người sử dụng B người sử dụng B truy xuất tập tin A Tổng quát, chia xẻ tài nguyên hệ thống phân tán cung cấp chế để chia xẻ tập tin vị trí xa, xử lý thông tin sở liệu phân tán, in ấn vị trí xa, sử dụng thiết bị xa đểõ thực thao tác Tăng tốc độ tính toán : Một thao tác tính toán chia làm nhiều phần nhỏ thực lúc Hệ thống phân tán cho phép phân chia việc tính toán nhiều vị trí khác để tính toán song song An toàn : Nếu vị trí hệ thống phân tán bị hỏng, vị trí khác tiếp tục làm việc Thông tin liên lạc với :Có nhiều lúc , chương trình cần chuyển đổi liệu từ vị trí sang vị trí khác Ví dụ hệ thống Windows, thường có chia xẻ chuyển liệu cửa sổ Khi vị trí nối kết với hệ thống mạng, việc trao đổi liệu diễn dễ Người sử dụng chuyển tập tin hay E_mail cho từ vị trí hay vị trí khác 1.2.6 Hệ thống xử lý thời gian thực Hệ thống xử lý thời gian thực sử dụng có đòi hỏi khắt khe thời gian thao tác xử lý dòng liệu, thường dùng điều khiển thiết bị ứng dụng tận hiến (dedicated) Máy tính phân tích liệu chỉnh điều khiển giải cho liệu nhập Một hệ điều hành xử lý thời gian thực phải định nghĩa tốt, thời gian xử lý nhanh Hệ thống phải cho kết xác khoảng thời gian bị thúc ép nhanh Có hai hệ thống xử lý thời gian thực hệ thống thời gian thực cứng hệ thống thời gian thực mềm Hệ thống thời gian thực cứng công việc hoàn tất lúc Lúc liệu thường lưu nhớ ngắn hạn hay ROM Việc xử lý theo thời gian thực xung đột với tất hệ thống liệt kê Dạng thứ hai hệ thống thời gian thực mềm, công việc có độ ưu tiên riêng thi hành theo độ ưu tiên Có số lĩnh vực áp dụng hữu hiệu phương pháp multimedia hay thực ảo 1.3 Cấu trúc hệ điều hành: 1.3.1 Các thành phần hệ thống Quản lý tiến trình Một chương trình không thực nếøu không CPU thi hành Một tiến trình chương trình thi hành, ý nghĩa rộng Một công việc theo lô tiến trình Một chương trình người dùng chia xẻ thời gian tiến trình, công việc hệ thống soopling xuất máy in tiến trình Một tiến trình phải sử dụng tài nguyên thời gian sử dụng CPU, nhớ, tập tin, thiết bị nhập xuất để hoàn tất công việc Các tài nguyên cung cấp tiến trình tạo hay trình thi hành Khi tiến trình tạo, sử dụng nhiều tài nguyên vật lý luận lý.cũng số khởi tạo liệu nhập Ví dụ , khảo sát tiến trình hiển thị trạng thái tập tin lên hình Đầu vào tiến trình tên tập tin, tiến trình thực thị thích hợp, thực lời gọi hệ thống để nhận thông tin mong muốn hiển thị lên hình Khi tiến trình kết thúc, hệ điềûu hành tái tạo lại tài nguyên dùng lại Một tiến trình hoạt động (active) hoàn toàn-ngược lại với tập tin đĩa thụ động (passive)-với đếm chương trình cho biết lệnh thi hành.Việc thi hành thực theo chế , CPU thi hành từ lệnh đầu đến lệnh cuối Một tiến trình coi đơn vị làm việc hệ thống Một hệ thống có nhiều tiến trình lúc , số tiến trình hệ điều hành, số tiến trình người sử dụng tiến trình diễn đồng thời Vai trò hệ điều hành việc quản lý tiến trình : Tạo hủy tiến trình người sử dụng hệ thống Ngưng thực lại tiến trình Cung cấp chế đồng tiến trình Cung cấp cách thông tin tiến trình Cung cấp chế kiểm soát deadlock Quản lý nhớ : Trong hệ thống máy tính đại, nhớ trung tâm thao tác, xử lý Bộ nhớ xem mảng kiểu byte hay kiểu word Mỗi phần tử có địa Đó nơi lưu liệu CPU truy xuất cách nhanh chóng so với thiết bị nhập/xuất CPU đọc thị từ nhớ Các thiết bị nhập/xuất cài đặt chế DMA(xem chương IV) đọc ghi liệu nhớ Thông thường nhớ chứa thiết bị mà CPU định vị trực tiếp Ví dụ CPU truy xuất liệu từ đĩa, liệu chuyển vào nhớ qua lời gọi hệ thống nhập/xuất Một chương trình muốn thi hành trước hết phải ánh xạ thành địa tuyệt đối nạp vào nhớ chính.Khi chương trình thi hành, hệ thống truy xuất thị liệu chương trình nhớ Ngay tiến trình kết thúc , liệu nhớ tiến trình khác ghi chồng lên Để tối ưu hóa trình hoạt động CPU tốc độ máy tính, số tiến trình lưu giữ nhớ Có nhiều kế hoạch quản trị nhớ có nhiều ứng dụng nhớ khác hiệu thuật toán phụ thuộc vào tùy tình cụ thể Lựa chọn thuật toán cho hệ thống mô tả trước phụ thuộc vào nhiều yếu tố, đặc biệt phần cứng hệ thống Hệ điều hành có vai trò sau việc quản lý nhớ : Lưu giữ thông tin vị trí nhớ sử dụng sử dụng Quyết định tiến trình nạp vào nhớ chính, nhớ dùng Cấp phát thu hồi nhớ cần thiết Quản lý nhớ phụ : Mục tiêu hệ thống máy tính thi hành chương trình Những chương trình với liệu truy xuất chúng phải đặt nhớ suốt trình thi hành Nhưng nhớ nhỏ để lưu giữ liệu chương trình, liệu không cung cấp lượng Hệ thống máy tính ngày cung cấp hệ thống lưu trữ phụ Đa số máy tính dùng đĩa để lưu trữ chương trình liệu Hầu tất chương trình : chương trình dịch, hợp ngữ, thủ tục, trình soạn thảo, định dạng lưu trữ đĩa thực hiện, nạp vào nhớ sử dụng đĩa để chứa liệu kết xử lý Vì quản lý hệ thống đĩa quan trọng cho hệ thống máy tính Vai trò hệ điều hành việc quản lý đĩa : Quản lý vùng trống đĩa 10 Hình 3.1: Sơ đồ mô tả thư mục 3.1.2 Tên file Linux: - Tên file Linux dài tới 256 ký tự, bao gồm chữ cái, chữ số, dấu gạch nối, gạch chân, dấu chấm Nếu tên file có dấu chấm “.” Thì xâu tên file từ dấu chấm cuối gọi phần mở rộng tên fie Linux lấy 32 hay 64 ký tự tên file (tuỳ theo phiên Linux) file khác ký tự cuối cùng, Linux file trùng tên Tên files thư mục chứa khoảng trắng số ký tự đặc biệt Một điểm cần lưu ý Linux phân biệt chữ hoa/thường 18 3.2 Các hệ thống file sử dụng Linux: Các định dạng xác mà tệp lưu trữ không quan trọng, hệ thống cung cấp giao diện chung cho tất kiểu hệ thống file mà nhận Trong Linux, kiểu hệ thống file bao gồm ext2, ext2fs, mà sử dụng để lưu trữ tệp tin Linux (ext3 dần phổ biến); hệ thống VFAT cho phép truy cập file nằm phân vùng Windows 95/98/ME đĩa mềm Linux; vài kiểu hệ thống file khác, bao gồm hệ thống file ISO 9660 sử dụng cho CD-ROM Mỗi kiểu hệ thống file có định dạng khác cho việc lưu trữ liệu Tuy nhiên, truy cập hệ thống file Linux, hệ thống hiển thị liệu tệp xếp thành hệ thống thư mục, với tên người sở hữu nhóm nhận dạng (ID), đặc tính khác mà quen thuộc Trên thực tế, thông tin quyền sở hữu files, quyền hạn truy cập, cung cấp kiểu hệ thống files mà sử dụng để lưu trữ tệp tin Linux Đối với kiểu hệ thống file không lưu trữ thông tin này, trình điểu khiển nhân Kernel sử dụng để truy cập hệ thống tệp tin “làm giả” thông tin Các kiểu hệ thống file Linux Hệ thống file Kiểu Mô tả Second Extended ext2 Hệ thống file Linux phổ biến filesystem Reiser filesystem Reiserfs Third Extended ext3 Một hệ thống file nhật kí cho Linux Một kiểu hệ thống file ghi chép cho Linux Có filesystem Minix filesystem ROM filesystem Minix Romfs tính tương thích ngược với ext2 Hệ thống file gốc Minix, sử dụng Một hệ thống file đọc, chủ yếu sử dụng cho Cramfs nhớ RAM Một hệ thống file nén đọc, thường sử CRAM filesystem Network file system UMSDOS filesystem DOS-FAT filesystem VFAT filesystem NT filesystem HPFS NFS Umsdos Msdos Vfat Ntfs Hpfs dụng PDA Cho phép truy cập tệp từ xa mạng Cài đặt Linux phân vùng MS-DOS Truy cập file MS-DOS Truy cập file Windows 95/98 Truy cập file Windows NT Hệ thống file OS/2 19 /proc filesystem Device filesystem ISO 9660 filesystem Joliet filesystem UDF filesystem System V filesystem Coherent filesystem UFS filesystem BFS filesystem EFS filesystem ADFS filesystem AFFS filesystem Apple Mac filesystem QNX4 filesystem JFFS filesystem Novell filesystem SMB filesystem Coda filesystem RAM filesystem Temporary filesystem Proc Devfs iso9660 iso9660 Cung cấp thông tin tiến trình cho ps Một cách đại diện cho tệp thư mục /dev Sử dụng đa số đĩa CD Mở rộng hệ thống file ISO 9660, đọc Udf Sysv coherent Ufs tên file Unicode Hệ thống file cho CD-ROM Truy cập file từ biến thể System V Truy cập file từ Coherent Truy cập tệp từ hệ thống file UFS, Bfs Efs Adfs Affs SunOS, BSD hay Tru64 Unix Truy cập file SCO Unixware Truy cập file phiên Irix cũ Truy cập file từ phân vùng Acorn Truy cập file từ phân vùng hệ thống file chuẩn Hfs qnx4 Jffs Ncpfs Smbfs Coda Ramfs Tmpfs hệ điều hành Amiga Truy cập file từ Apple Macintosh Truy cập file từ phân vùng QNX4 Một hệ thống file cho thiết bị dựa Flash Truy cập file từ máy chủ Novell qua mạng Truy cập file từ máy chủ Windows qua mạng Một hệ thống file mạng tiên tiến, tương tự NFS Một hệ thống file cho nhớ RAM Một kiểu hệ thống file khác giữ RAM Bảng 3.1: Liệt kê kiểu filesystem hỗ trở nhân Linux phiên 2.4.10 20 Mỗi loại tệp tin hệ thống có thuộc tính riêng giới hạn Hầu hết công việc với Linux, ta sử dụng Second Extended (ext2) hỗ trợ 256 ký tự tên tệp tin, kích thước 32 Terabyte cho file nhiều điều khác Hoặc Reiser (reiserfs) hay Third Extended (ext3) Trước hệ thống Linux sử dụng Extended hệ thống tập tin Minix Minix sử dụng Linux ban đầu biên soạn qua Minix đơn giản để bổ sung hạt nhân ban đầu Hệ thống file Xia Xenix có sẵn hạt nhân Linux cũ không hỗ trợ Sự khác biệt hệ thống tệp tin Ext2 Reiser Reiser lưu lại nhật kí liệu Lưu nhật kí liệu kỹ thuật tiên tiến theo dõi thay đổi hệ thống file, giúp dễ dàng nhanh để khôi phục lại hệ thống tập tin bị lỗi Một kiểu hệ thống file lưu nhật Ext3, kế thừa Ext3 Điều có lợi tính tương thích ngược với Exxt2 Hệ thống file ROM sử dụng Ramdisks việc cấu hình hệ thống, thời gian khởi động, hay chí EPROMS Hệ thống tập tin Cram sử dụng cho ROMs có nén nội dung Điều chủ yếu dành cho thiết bị nhúng, thiết bị mà không gian nhớ đặt lên hàng đầu Hệ thống tập tin UMSDOS sử dụng để cài đặt Linux thư mục riêng phân vùng MS-DOS có mà không cần chia lại phân vùng Hệ thống file DOS-FAT sử dụng để truy cập MS-DOS tập tin trực tiếp Tập tin phân vùng tạo Windows 95 98 truy cập thông qua VFAT, hệ thống tập tin NTFS cho phép truy cập hệ thống tập tin Windows NT HPFS sử dụng để truy cập vào hệ thống tập tin OS/2 Với việc mở rộng CVF-FAT cho DOS-FAT, truy cập phân vùng nén với DoubleSpace/DriveSpace từ Microsoft Stacker từ Stac /proc hệ thống tập tin ảo, không gian đĩa thực tế có liên quan với Devfs hệ thống tập tin ảo, thay cho thư mục /dev tạo tự động theo yêu cầu nhân Linux Kernel 21 Các hệ thống file ISO 9660 hạn chế chiều dài tên tập tin thông tin lưu trữ file sử dụng hầu hết đĩa CD Tuy nhiên, Linux hầu hết đĩa CD cung cấp Rock Ridge Extension tới ISO 9660, cho phép trình điều khiển hệ thống file nhân Kernel để ấn định độ dài tệp tin, quyền sở hữu, quyền hạn cho file Tiếp theo, Linux có sáu loại hệ thống file cho tảng khác: UFS, EFS, BFS, System V Coherent hỗ trợ định dạng phổ biến tảng phép khởi động kép tương tác khác Nếu có hệ thống tập tin tạo trong định dạng theo hệ điều hành khác, truy cập tệp tin từ Linux Cuối cùng, có số lượng lớn kiểu hệ thống file để truy cập liệu phân vùng, chúng tạo hệ điều hành khác DOS Unix Những hệ thống file hỗ trợ hệ thống Acorn Filing Disk (ADFS), hệ thống file AmigaOS (không hỗ trợ đĩa mềm ngoại trừ AmigasOS), Apple Mac HFS, hệ thống file QNX4 Hầu hết hệ thống file chuyên dụng có ích kiến trúc phần cứng định 3.3 Gắn kết hệ thống file Gán kết (mount) hệ thống file: Mọi hệ thống file Linux phải mount sử dụng Mount thao tác gán kết hệ thống file vào thư mục (mount point) thư mục gốc / Mọi truy cập đến thư mục mount point hiểu truy cập vào hệ thống file mount Trong trình boot, lệnh mount gọi để gán kết tất hệ thống file định file / etc / fstab Điều làm cho tệp tin hệ thống file xuất thể chúng thường trú thư mục đó, cho phép truy cập chúng Định dạng lệnh mount sau: mount -t type device mount-point • type tên loại hệ thống file liệt kê Bảng 22 • device thiết bị vật lý mà hệ thống file thường trú (tệp tin thiết bị /dev) • mount-point thư mục mà để gắn kết hệ thống file Chúng ta phải tạo thư mục trước tiến hành mount Ví dụ, có Second Extended filesystem phân vùng /dev/hda2 muốn gắn kết thư mục /mnt, sử dụng câu lệnh: mount -t ext2 /dev/hda2 /mnt Mount partition Win 9x : Mount –t vfat / dev / hda1 / mnt / win Giả sử / dev / hda1 partition cài windows 9x (ổ C) Đọc ghi thư mục / mnt / win ổ đĩa C : Windows 9x Mount ổ đĩa USB : Mount / dev / sda1 / mnt / usb / dev / sda1 tên thiết bị USB (khe cắm đầu tiên) Trường hợp máy có / dev / sda thiết bị SCSI HDD, tên thiết bị USB / dev / sdb Mount ổ đĩa SCSI vào thư mục / mnt / temp : mount / dev / sda1 / mnt / temp / dev / sda1 partition1 ổ đĩa SCSI HDD Với lệnh mount, mount point thư mục nào, nhiên thông thường nên đặt / mnt Để gắn kết hệ thống file với tùy chọn đọc Tất việc ghi vào hệ thống file gặp lỗi “từ chối quyền hạn” : mount: block device /dev/cdrom is write-protected, mounting read-only Chúng ta nên sử dụng lệnh: mount -t iso9660 -r /dev/cdrom /mnt Điều cần thiết cố gắng gắn kết đĩa mềm có bảo vệ chống ghi 23 Một biến thể hữu ích việc sử dụng mount mount -a, gắn kết tất hệ thống file liệt kê /etc/fstab trừ hệ thống file đánh dấu với tùy chọn noauto Nghịch đảo việc gắn kết hệ thống file unmounting (ngắt gắn kết) Ngắt gắn kết hệ thống file có hai tác dụng: đồng bộ đệm hệ thống với nội dung thực hệ thống file đĩa, làm cho hệ thống file không khả dụng từ điểm gắn kết Để ngắt gắn kết hệ thống file gắn thư mục cụ thể, sử dụng lệnh: umount /mnt Điều quan trọng cần lưu ý phương tiện di động, bao gồm đĩa mềm đĩa CD, không nên bỏ khỏi ổ đĩa đổi chỗ cho ổ đĩa khác gắn kết Điều làm cho thông tin hệ thống thiết bị không đồng với thực dẫn đến rắc rối Khi muốn chuyển đổi đĩa mềm đĩa CD-ROM, ngắt gắn kết trước, sử dụng lệnh umount, cho đĩa vào, sau gắn kết nối thiết bị Tất nhiên, với đĩa CD đĩa mềm bảo vệ chống ghi, cách thiết bị tự khỏi đồng bộ, gặp vấn đề khác Ví dụ, số ổ đĩa CD-ROM không cho phép đẩy đĩa ngắt gắn kết Đọc ghi vào hệ thống file đĩa mềm đưa vào vùng đệm Điều có nghĩa đọc ghi liệu vào đĩa mềm, hoạt động ổ đĩa xảy Hệ thống xử lý I/O đĩa mềm không đồng đọc ghi liệu thật cần thiết Vì vậy, chép tập tin nhỏ vào đĩa mềm, đèn ổ đĩa không sáng, bình tĩnh, liệu viết vào sau Có thể sử dụng lệnh sync để buộc hệ thống phải viết tất hệ thống file vùng đệm vào đĩa, gây việc ghi vật lý liệu đệm Ngắt gắn kết hệ thống file làm cho điều xảy tốt Nếu muốn cho phép người sử dụng gắn kết ngắt gắn kết định, có hai lựa chọn Lựa chọn bao gồm tùy chọn user cho thiết bị 24 /etc/ Việc cho phép người dùng sử dụng lệnh mount umount cho thiết bị định Một lựa chọn khác sử dụng gắn kết giao diện người dùng cho Linux Một vài điều sai cố gắng gắn kết hệ thống file Không may, lệnh mount cung cấp thông báo lỗi tương tự để đáp ứng với số vấn đề: mount: wrong fs type, /dev/cdrom already mounted, /mnt busy, or other error wrong fs type : có quy định kiểu sai Nếu không định kiểu, mount cố gắng đoán kiểu hệ thống file từ superblock (chỉ làm việc với Minix, ext2 iso9660) Nếu gắn kết xác định kiểu hệ thống file, thử tất kiểu mà trình điều khiển bao gồm nhân Kernel (như liệt kê /proc/filesystems) Nếu điều không dẫn đến thành công, mount thất bại device already mounted: thiết bị lắp vào thư mục khác Chúng ta tìm thiết bị gắn kết, đâu, cách sử dụng lệnh mount đối số: rutabaga# mount /dev/hda2 on / type ext2 (rw) /dev/hda3 on /windows type vfat (rw) /dev/cdrom on /cdrom type iso9660 (ro) /proc on /proc type proc (rw,none) Ở đây, thấy hai phân vùng ổ cứng, kiểu ext2 vfat, đĩa CD gắn kết vào /cdrom, hệ thống file /proc Các trường cuối dòng (ví dụ (rw)) liệt kê tùy chọn theo hệ thống file gắn kết Lưu ý thiết bị CDROM gắn kết vào /cdrom Nếu sử dụng đĩa CD thường xuyên, thuận tiện tạo thư mục đặc biệt /cdrom gắn kết với thiết bị /mnt thường sử dụng tạm thời để gắn kết hệ thống file đĩa mềm Lỗi mount-point busy có nghĩa số hoạt động diễn mount-point ngăn cản gắn kết hệ thống file đó, có tệp tin mở thư mục này, trình có số thư mục hành làm việc mount-point Khi sử 25 dụng mount, chắn root không nằm mount-point; dùng lệnh cd/ để vào thư mục cấp cao nhất, filesystem khác gắn kết với mount-point Sử dụng mount đối số để tìm hiểu Đĩa mềm đặc biệt dễ bị khuyết tật thể chất đĩa CD bị bụi bám, trầy xước dấu vân tay, đưa lộn ngược (Nếu cố gắng để gắn kết định dạng Stan Rogers CD ISO 9660, vào vấn đề tương tự) Ngoài ra, chắn điểm lắp cố gắng sử dụng (chẳng hạn /mnt) tồn Nếu không, tạo lệnh mkdir Hệ thống tự động gắn kết số hệ thống file hệ thống khởi động Điều xử lý tập tin /etc/fstab, bao gồm đầu vào cho hệ thống tập tin phải gắn kết vào lúc khởi động Mỗi dòng tập tin định dạng: device mount-point type optionsa Ở đây, device, mount-point, type tương đương với ý nghĩa chúng lệnh mount, option danh sách lựa chọn 3.4 Một số lệnh quản lý 3.4.1 Tạo thư mục - Cú pháp: mkdir [options] dir_names Ví dụ: Tạo thư mục dir2: mkdir -p /home/user2/dir1/dir2 3.4.2 Chuyển thư mục - Cú pháp: cd dir_name Ví dụ: Chuyển /etc/init.d: cd /etc/init.d 3.4.3 Copy files - Cú pháp: cp [options] file1 file2 - Options: Một số tùy chọn thường dùng: i : Hỏi trước overwrite (thường dùng copy với quyền root) f : Hverwrite mà không cần hỏi (thường dùng copy với quyền user thường) 26 r : Copy đệ qui, copy thư mục con, cháu, p : Copy theo thông tin inode (modify time, quyền hạn, ) 3.4.4 Move rename file - Cú pháp: mv [options] file1 file2 Ví dụ: mv file.txt newfile.txt mv file.txt dir1/file.txt 3.4.5 Xóa files thư mục - Cú pháp : rm [options] files - Options: số tùy chọn thường dùng: f : xóa không cần hỏi (thường dùng xóa với quyền user thường) I : hỏi trước xóa (thường dùng xóa với quyền root) r : xóa files thư mục 3.5 Quyền hạn File 3.5.1 Sơ lược quyền Trên Linux, quyền files thư mục ghi vào inode (nơi lưu trữ thông tin file thư mục file thư mục đó) Để dễ quản lý, Linux xem thứ file Để xem quyền, sử dụng lệnh "ls -l" hình sau: Hình 3: Lệnh “1s-1” Cột kết lệnh ls -l thể cho quyền hạn Phần bao gồm 10 bit: 27 bit 1: thể kiểu file (ví dụ: "-" file thường, "d" thư mục, ) bit lại chia làm nhóm, nhóm có bit: user (người dùng): quyền truy cập nhóm áp dụng cho người sở hữu tập tin group (nhóm người dùng): quyền truy cập nhóm áp dụng cho nhóm gắn với tập tin other (những người khác): quyền truy cập nhóm áp dụng cho tất người lại Trong nhóm (3 bit) thể cho quyền đọc (r), ghi (w), thực thi (x) Nếu nơi quyền ghi denied (-) Ký hiệu - File Thư mục Không có quyền Không có quyền Quyền xem nội dung tập tin Quyền xem nội dung tập mở tập tin R tin thư mục Có thể đọc file, ví dụ dùng lệnh cat, more, Có thể xem nội dung thư mục, ví dụ dùng lệnh ls Quyền ghi sửa lại nội dung tập Quyền sửa lại nội dung tin xoá tập tin, thêm, bớt nội dung tập tin thư mục, tạo thêm W file xóa file thư mục thư mục Quyền gắn với tập tin Quyền vào thư mục Có lệnh Có thể thực thi file này, dùng thể truy cập thư mục X trường hợp program script Ví dụ: dùng lệnh cd vào thư mục 28 Bảng 3: Quyền đọc (r), ghi (w), thực thi (x) file thư mục 3.5.2 Thay đổi quyền Chỉ có user có quyền root (/), user chủ sở hữu file thay đổi quyền file Lệnh chuyển quyền: chmod mode file Trong mode viết theo cách: symbolic mode octal mode Symbolic mode Hình : Symbolic mode 29 Trong mode thêm (+), bớt (-), gán (=) quyền (r w x) cho nhóm (u g o) cho nhóm (a) Ưu điểm mode kế thừa quyền Octal mode Các quyền hệ thống Linux mô tả qua số từ đến hệ thập phân Ví dụ user hay group có quyền R (read), W (write), E (execute) file/folder kí hiệu 1, ngược lại quyền tương ứng (-) Và với phép chuyển từ số nhị phân sang thập phân có bảng giá trị sau: 30 Hệ số 10 Hệ số 000 001 010 011 100 101 110 111 Quyền tương ứng x -w-wx r-r-x rwRwx Bảng : Các quyền Linux tương ứng với giá trị số thập phân nhị phân Quyền tính tổng nhóm Ví dụ: r (4) + -w-(2) + x(1)= Khi gán quyền phải gán cho nhóm (user, group, other nhóm chiếm bit) Khi dùng octal mode không kế thừa quyền củ, bù lại chúng ngắn gọn dễ dùng 3.5.3 Quyền mặc định Khi tạo file thư mục, hệ thống gán cho quyền mặc định, đó: Đối với file: 666 rw- rw- rw- Đối với thư mục: 777 rwx rwx rwx Để thay đổi quyền mặc định tạo file thư mục, hệ thống cung cấp cho công cụ umask Như vậy, tạo file thư mục, quyền mặc định tính sau: File: 666 - umask Thư mục: 777 – umask Ta dùng lệnh sau để gán quyền truy cập $ umask 066 $ touch test.txt Ví dụ: Quyền truy cập mặc định: 666 = 110 110 110 Giá trị umask: 123 = 001 010 011 31 Lấy nghịch đảo giá trị umask: NOT (Giá trị umask) = NOT (001 010 011) = 110 101 100 Quyền truy cập cho phép: 110 110 110 AND 110 101 100 = 110 100 100 ( = 644 số 10) Ví dụ: Nếu umask=022 quyền mặc định file thư mục (644) 755 32 [...]... trong giao tiếp giữa những hệ thống nhỏ bên trong Hệ thống cơ chế dòng lệnh : Một trong những phần quan trọng của chương trình hệ thống trong một hệ điều hành là cơ chế dòng lệnh, đó là giao tiếp giữa người sử dụng và hệ điều hành Một số hệ điều hành đặt cơ chế dòng lệnh bên trong hạt nhân, số khác như MS-DOS và UNIX thì xem hệ điều hành như là một chương trình đặt biệt, được thi hành khi các công việc... đầu tiên Các lệnh đưa vào hệ điều hành thông qua bộ điều khiển lệnh Trong các hệ thống chia xẻ thời gian một chương trình có thể đọc và thông dịch các lệnh điều khiển được thực hiện một cách tự động Chương trình này thường được gọi là bộ thông dịch điều khiển card, cơ chế dòng lệnh hoặc Shell Chức năng của nó rất đơn giản đó là lấy lệnh kế tiếp và thi hành 12 Mỗi hệ điều hành sẽ có những giao tiếp... thiết bị có một bộ kiểm soát như bộ điều khiển đĩa (disk driver) và có những tính chất riêng Những tính chất này là tốc độ, khả năng lưu trữ, tốc độ truyền dữ liệu và cách truy xuất Để cho việc sử dụng hệ thống máy tính thuận tiện, hệ điều hành cung cấp một cái nhìn logic đồng nhất về hệ thống lưu trữ thông tin Hệ điều hành định nghĩa một đơn vị lưu trữ logic là tập tin Hệ điều hành tạo một ánh xạ từ... 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 mã nguồn mở hiệu quả Đó là một thách thức đối với sự thống trị của Microsofft Windows trong một số lĩnh vực Linux là một hệ điều hành mã nguồn mở (Open Source) và miễn phí dưới bản quyền của tổ chức GNU (Gnu’s Not Unix) Mặc dù các hệ thống này thường được gọi là Linux nhưng tên chính xác cho các hệ thống này là Hệ điều. .. tháng 10/2012) 15 CHƯƠNG 3 QUẢN LÍ HỆ THỐNG FILE TRÊN LINUX 3.1 Cơ bản về file và thư mục: 3.1.1 Khái niệm: Hệ thống file là một cơ sở dữ liệu các file và thư mục, được đính kèm vào thư mục gốc hoặc một thư mục bất kỳ của một hệ thống file khác đã được đính kèm trước đó Việc đính kèm một hệ thống file được gọi là mount Mỗi phân vùng là một hệ thống file Đĩa CD hay USB cũng là một hệ thống file Linux... lưu trữ Một tập tin là một tập hợp những thông tin do người tạo ra nó xác định Thông thường một tập tin đại diện cho một chương trình và dữ liệu Dữ liệu của tập tin có thể là số, là ký tự, hay ký số Tập tin thường có dạng tự do, như tập tin văn bản, nhị phân (là tập tin chứa dãy các bit) (Xem bài VIII) Vai trò của hệ điều hành trong việc quản lý tập tin : Tạo và xoá một tập tin 11 Tạo và xoá một thư... phân vùng hệ thống file chuẩn Hfs qnx4 Jffs Ncpfs Smbfs Coda Ramfs Tmpfs của hệ điều hành Amiga Truy cập file từ Apple Macintosh Truy cập file từ phân vùng QNX4 Một hệ thống file cho các thiết bị dựa trên Flash Truy cập file từ một máy chủ Novell qua mạng Truy cập file từ một máy chủ Windows qua mạng Một hệ thống file mạng tiên tiến, tương tự NFS Một hệ thống file cho bộ nhớ RAM Một kiểu hệ thống file... đĩa Vì hệ thống đĩa được sử dụng thường xuyên, nên nó phải được dùng hiệu quả.Tốc độ của toàn bộ hệ thống tuỳ thuộc rất nhiều vào tốc độ truy xuất đĩa Quản lý hệ thống nhập xuất : Một trong những mục tiêu của hệ điều hành là che dấu những đặc thù của các thiết bị phần cứng đối với người sử dụng thay vào đó là một lớp thân thiện hơn, người sử dụng dể thao tác hơn Một hệ thống nhập/xuất bao gồm : Hệ thống... rằng tiến trình chỉ được thi hành trong phạm vi địa chỉ của nó Bộ thời gian đảm bảo rằng không có tiến trình nào độc chiếm CPU Cuối cùng các thiết bị ngoại vi cũng được bảo vệ Hệ thống bảo vệ là một cơ chế kiểm soát quá trình truy xuất của chương trình, tiến trình, hoặc người sử dụng với tài nguyên của hệ thống Cơ chế này cũng cung cấp cách thức để mô tả lại mức độ kiểm soát Hệ thống bảo vệ cũng làm tăng... triển dựa trên hệ điều hành Minix, 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 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 (so với Unix) và khả năng bảo mật tốt, độ tin cậy cao (so sánh với Windows) cũng như là các đặc điểm về giá thành rẻ, không bị ... QUAN VỀ NGUYÊN LÝ HỆ ĐIỀU HÀNH 1.1 Khái niệm hệ điều hành: Hệ điều hành chương trình hay hệ chương trình hoạt động người sử dụng (user) phần cứng máy tính Mục tiêu hệ điều hành cung cấp môi trường... 1.3 Cấu trúc hệ điều hành: 1.3.1 Các thành phần hệ thống Quản lý tiến trình Một chương trình không thực nếøu không CPU thi hành Một tiến trình chương trình thi hành, ý nghĩa rộng Một công việc... cuối Một tiến trình coi đơn vị làm việc hệ thống Một hệ thống có nhiều tiến trình lúc , số tiến trình hệ điều hành, số tiến trình người sử dụng tiến trình diễn đồng thời Vai trò hệ điều hành