Đây là bài so sánh về hệ thống tập tin và quản lý tiến trình giữa Windows và Linux. Các bạn xem qua nếu có thiếu gì thì thêm vào nha HỆ THỐNG TẬP TIN GIỐNG NHAU : HĐH linux và windows đều thiết kế một bảng nhỏ để theo dõi các blocks của một file gọi là I-node. Đều có chế độ bảo vệ tập tin bằng cách phân quyền cho các user sử dụng. Cho phép nhiều người dùng sử dụng cùng tập tin trong hệ thống đa người dùng, có chức năng chia sẻ file trên cả hai hệ điều hành. Iinux có thể sử dụng hệ thống tập tin NTFS,Fat của Windows. KHÁC NHAU : 1) Cách tổ chức thư mục và tập tin rất khác. Những chương trình chạy trong windows thì không chạy trong linux được (trừ khi bạn cài thêm wine), còn những chương trình trong linux thì trong windows không chạy được. - Windows thì tổ chức quản lý theo dạng cây có nghĩa là các thông tin sẽ lưu trữ theo phân cấp cây thư mục, muốn tìm tới một địa chỉ nào đó ta phải thông qua nhiều lớp thư mục rồi mới tới được điểm cần tìm, còn Linux thì tổ chức quản lý tập tin theo chỉ mục kiểu quản lý này sẽ tránh được tình trạng nhiều file có tên và nội dung giống nhau cùng tồn tại dẫn đến tiết kiệm bộ nhớ hơn tuy nhiên quản lý hơi phức tạp nên nếu file bị thất lạc trong HĐH thì không sao tìm ra nhanh chóng được. 2) Hệ thống tập tin của Linux và Unix được tổ chức theo một hệ thống phân bậc tương tự cấu trúc của một cây phân cấp. Bậc cao nhất của hệ thống tập tin là thư mục gốc, được ký hiệu bằng vạch chéo “/” (root directory). Đối với các hệ điều hành Unix và Linux tất các thiết bị kết nối vào máy tính đều được nhận dạng như các tập tin, kể cả những linh kiện như ổ đĩa cứng, các phân vùng đĩa cứng và các ổ USB. Điều này có nghĩa là tất cả các tập tin và thư mục đều nằm dưới thư mục gốc, ngay cả những tập tin biểu tượng cho các ổ đĩa cứng. 3) Hệ thống tập tin trong Linux (cũng giống như trong Unix và Mac OS) khác hẳn Windows. Không còn các chữ cái thay tên ổ đĩa như A, C, D, E…, không còn khái niệm phân vùng, đĩa cứng… thay vào đó chỉ còn lại một thứ duy nhất, đó là thư mục và tệp. Thực chất trong Linux thư mục cũng là một loại tệp tin, chỉ có thêm một số thuộc tính đặc biệt. 4) Trong windows sử dụng hệ thống tập tin Fat, NTFS Fat12, fat16 : Sử dụng cho hệ điều hành MSDOS Fat32 : Sử dụng cho Win98 Win2000 NTFS : là hệ thống file sử dụng cho win2000 trở về sau Ngoài Fat, NTFS linux còn hỗ trợ nhiều hệ thống tập tin khác như ext2fs, ext3fs . Vì nhân Linux dùng lớp hệ thống tập tin ảo (Virtual File System) để tương tác với hệ thống tập tin và thực hiện các tác vụ xuất/nhập đĩa. Điều này mang lại cho Linux khả năng hỗ trợ nhiều hệ thống tập tin khác nhau như DOS, FAT16, FAT32. 5) Linux : Thư mục, tập tin hơn windows ở chỗ hệ thống tập tin của nó không phân mảnh như windows, nghĩa là không không cần giải phân mảnh (defrag), đồng nghĩa ổ cứng cài linux sẽ sống lâu hơn là cài windows 6) Tên tập tin và thư mục trong linux có phân biệt chữ hoa và chữ thường VD: Viethanit khác với viethanit Windows thì không phân biệt. QUẢN LÝ TIẾN TRÌNH GIỐNG NHAU: Đều là hệ điều hành đa nhiệm, cùng một lúc có thể xử lý nhiều tiến trình. Đều có bộ nhớ ảo để chứa các tiến trình chưa thực hiện chuyển cho các tiến trình khác cần chạy. Kernel Kernel chịu trách nhiệm thông dịch và gửi các chỉ thị tới bộ vi xử lý máy tính, chịu trách nhiệm về các tiến trình. KHÁC NHAU: 1) Linux có khả năng tạo ra các vùng tráo đổi (Swap) còn gọi là bộ nhớ ảo, chúng ta có thể phân vùng Swap khi cài đặt Linux(gấp đôi dung lượng Ram hiện hành), đây là vùng bắt buộc cần phải có khi cài hệ điều hành linux. Các tiến trình không hoạt động-đang đợi có thể tráo đổi trong một thời gian ngắn bằng cách phân trang. Tiến trình được xóa khỏi bộ nhớ Ram rồi được lưu trữ trong bộ nhớ ảo, giải phóng không gian cho một tiến trình khác. Khi tiến trình cần sử dụng CPU nó sẽ được tráo đổi lại Ram - Windows: Không bắt chúng ta khởi tạo vùng swap giống linux, nhưng chúng ta có thể thay đổi bộ nhớ ảo bằng cách click right vào My computer->manager -> advanced->setting (virtual memory). Windows Sử dụng mô hình nhiều trạng thái. Tiến trình không hoạt động được lưu trong hàng đợi ( Queue) , khi hết bộ nhớ hệ điều hành sẽ chuyển tiến trình sang trạng thái suspend . Suspend là trạng thái của một tiến trình khi nó đang được lưu trữ trong bộ nhớ phụ. Hệ điều hành chuyển ra đĩa để thu hồi lại không gian nhớ đã cấp hay tài nguyên đã cấp để cấp cho tiến trình khác đang rất cần nạp vào bộ nhớ tại thời điểm hiện tại. 2) Trên hệ điều hành Linux, tiến trình được nhận biết thông qua số hiệu của tiến trình, gọi là pid. Cũng như đối với user, nó có thể nằm trong nhóm. Vì thế để phân biệt ta nhận biết qua số hiệu nhóm gọi là pgrp. 3) Linux: Tiến trình (process) là một chương trình đơn chạy trên không gian địa chỉ ảo của nó. Cần phân biệt tiến trình với lệnh vì một dòng lệnh trên shell có thể sinh ra nhiều tiến trình. Ví dụ: dòng lệnh sau nnroff -man ps.1 grep kill | more user sinh ra 3 tiến trình khác nhau Các loại tiến trình chính trên Linux + Tiến trình với đối thoại (Interactive processes) : là tiến trình khởi động và quản lý bởi shell, kể cả tiến trình foreground hoặc background. + Tiến trình batch (Batch processes) : Tiến trình không gắn liền đến bàn điều khiển (terminal) và được nằm trong hàng đợi để lần lượt thực hiện. + Tiến trình ẩn trên bộ nhớ - Daemon process: Là các tiến trình chạy dưới nền (background). Đa số các chương trình server cho các dịch vụ chạy theo phương thức này. Đây là các chương trình sau khi được gọi lên bộ nhớ, đợi thụ động các yêu cầu chương trình khách (client) để trả lời sau các cổng xác định (cổng là khái niệm gắn liền với giao thức TCP/IP BSD socket). Hầu hết các dịch vụ trên Internet như mail, Web, DNS … chạy theo nguyên tắc này. Các chương trình được gọi là các chương trình daemon và tên của nó thường kết thúc bằng ký tự “d” như named, inetd … Ký tự “d” cuối được phát âm rời ra như “đê “ trong tiếng việt. Ví dụ named được phát âm là “nêm đê”. - Windows gồm 2 tiến trình là : tiến trình tuần tự và tiến trình song song Tiến trình tuần tự: Là các tiến trình mà điểm khởi tạo của nó là điểm kết thúc của tiến trình trước đó. Tiến trình song song: Hai tiến trình gọi là song song nếu thời điểm bắt đầu của của tiến trình này nằm giữa thời điểm bắt đầu và kết thúc của chương trình kia Tiến trình song song khi thực hiện thì có thể thực hiện song song vật lý và song song đan xen. + Tiến trình song song độc lập: Không có quan hệ thông tin với nhau + Tiến trình song song có quan hệ thông tin: trong quá trình hoạt động các tiến trình thường trao đổi thông tin với nhau + Tiến trình song song phân cấp: trong khi hoạt động nó sản sinh ra một tiến trình nữa và hoạt động song song chính nó. Tiến trình khởi tạo là tiến trình cha, tiến trình được tạo ra gọi là tiến trình con + Tiến trình song song đồng mức: sử dụng chung tài nguyên theo nguyên tắc lần lược, mỗi tiến trình sau một khoảng thời gian chiếm giữ tài nguyên phải tự động trả lại tài nguyên cho tiến trình kia . Sưu tầm: Jinyotino