chương 1 Trong chương này, báo cáo đã giới thiệu hệ điều hành macintosh,lịch sử hình thành, chỉ ra các phiên bản của hệ điều hành. Giới thiệu những đặc điểm nổi bật của hệ điều hành này như giao diện đẹp mắt, hoạt động mượt mà, dễ dàng sử dụng, thân thiện với người dùng và số lượng virus ít. Từ đó, đưa ra các so sánh ưu nhược điểm giữa hai hệ điều hành Macintosh và Windows. Chương 2 sẽ tìm hiểu cũng như phân tích rõ hơn về hệ điều hành Macintosh.
PHÂN TÍCH HỆ ĐIỀU HÀNH MACOS 2. Kiến trúc hệ điều hành MacOS Kiến trúc của macOS bao gồm một số lớp thường được thể hiện dưới dạng đồ họa như trong hình 2.1 Kiến trúc hệ điều hành macOS Cấp cơ sở của hệ điều hành là nhân Unix, được gọi là Darwin. Di chuyển lên qua các lớp, lớp tiếp theo là hệ thống đồ họa con bao gồm ba phần: Quartz, OpenGL và QuickTime. Sau đó, đến lớp ứng dụng có bốn thành phần, đó là Classic, Carbon, Cocoa và Java.
Cuối cùng, lớp trên cùng là giao diện người dùng, được gọi là Aqua. Nhân hệ điều hành Darwin Dựa trên phiên bản Berkeley Software Distribution (BSD) của Unix. Trái tim của nhân được gọi là “Mạch”. Phần này của hệ điều hành thực hiện các tác vụ cơ bản, chẳng hạn như luồng dữ liệu vào và ra từ CPU, sử dụng bộ nhớ,v.
Các tính năng của Mach: 11 Cung cấp một vùng bộ nhớ riêng biệt mà mỗi ứng dụng có thể chạy. Nó đảm bảo rằng mỗi ứng dụng vẫn ở trong không gian bộ nhớ riêng biệt do đó không ảnh hưởng đến ứng dụng khác. Do đó, nếu một ứng dụng đang chạy bị treo, các ứng dụng khác không bị ảnh hưởng. Nó sử dụng hệ thống bộ nhớ ảo luôn bật, vì thế nó quản lý việc sử dụng bộ nhớ ảo một cách hiệu quả để bộ nhớ ảo chỉ được sử dụng khi cần thiết đảm bảo hiệu suất tối đa.
Hệ thống đồ họa Bao gồm ba thành phần chính: Quartz Extreme, OpenGL và QuickTime. Quartz Extreme là tên hệ thống con xử lý đồ họa 2D cung cấp giao diện đồ họa, phông chữ và các yếu tố 2D khác của hệ thống. Thành phần OpenGL của hệ thống đồ họa con cung cấp hỗ trợ đồ họa 3D cho các ứng dụng 3D. Do đó, việc tạo các ứng dụng 3D cho Mac từ những ứng dụng được thiết kế để chạy trên các hệ điều hành khác sẽ dễ dàng hơn.
QuickTime cung cấp hỗ trợ cho nhiều loại phương tiện kỹ thuật số, chẳng hạn như video kỹ thuật số và là trình hỗ trợ chính cho việc phát trực tuyến video và âm thanh trong macOS. QuickTime cho phép xem cả các ứng dụng, chẳng hạn như QuickTime Player và các ứng dụng sáng tạo, chẳng hạn như iMovie, iTunes, và nhiều hơn nữa. QuickTime cũng là một tiêu chuẩn công nghiệp và các tệp QuickTime có thể được sử dụng trên Windows và các nền tảng máy tính khác. Lớp ứng dụng Cung cấp bốn môi trường phát triển ứng dụng: Basic, Carbon, Cocoa và Java Môi trường Carbon cho phép các nhà phát triển chuyển các ứng dụng hiện có sang sử dụng các giao diện chương trình ứng dụng Carbon (API).
Môi trường Carbon cung cấp các lợi ích của Darwin cho các ứng dụng được Carbon hóa, chẳng hạn như bộ nhớ được bảo vệ. 12 Môi trường Cocoa cung cấp cho các nhà phát triển một môi trường phát triển ứng dụng hướng đối tượng, hiện đại. Môi trường Java cho phép người dùng chạy các ứng dụng Java, bao gồm các ứng dụng Java thuần túy và các ứng dụng Java nâng cao. Các ứng dụng Java được sử dụng rộng rãi trên Web vì chúng cho phép thực thi cùng một bộ mã trên nhiều nền tảng khác nhau.
Giao diện người dùng Giao diện người dùng của macOS được gọi là Aqua, cung cấp trải nghiệm hình ảnh tuyệt vời cũng như các công cụ để người dùng có thể tương tác và tùy chỉnh giao diện cho phù hợp theo sở thích. Cấu trúc hệ thống tệp tin MacOS Hệ thống tệp tin Macintosh là hệ thống tệp tin phân cấp (HFS- Hierarchical File System). Đây là một hệ thống tệp độc quyền được phát triển bởi Apple Inc để sử dụng trong các hệ thống máy tính chạy hệ điều hành macOS. Chức năng chính của nó để lưu trữ các tệp, bao gồm các thư mục cha và thư mục con được lồng ghép với nhau.
HFS đã thay thế cấu trúc bảng bằng tệp danh mục sử dụng B-tree có thể được tìm kiếm rất nhanh bất kể kích thước lớn hay nhỏ. Nó cũng thiết kế lại các cấu trúc khác nhau để có thể chứa số lượng lớn hơn, các số nguyên 16 bit được thay thế hầu hết bằng 32 bit. Hệ thống tệp phân cấp nhóm các khối logic 512 byte thành các khối cấp phát, có thể chứa một hoặc nhiều khối logic, tùy thuộc vào tổng kích thước của ổ đĩa. Hệ thống tệp HFS bao gồm các thông tin về dấu thời gian: Ngày tạo: khi tệp được tạo.
Sao chép tệp từ một HFS tập khác thường giữ nguyên ngày tạo. Ngày sửa đổi: khi nội dung của tệp được thay đổi lần cuối. 13 Ngày sửa đổi thuộc tính: khi các thuộc tính được liên kết với tệp đã được thay đổi lần cuối. Thay đổi này có thể được cập nhật mà không làm thay đổi bất kỳ dữ liệu nào của tệp.
Ngày truy cập: khi tệp được truy cập lần cuối. Ngày sao lưu Hệ thống tệp phân cấp được cấu tạo bởi năm thành phần: Khối logic 0 và 1 được gọi là boot blocks, chứa thông tin khởi động hệ thống. Ví dụ được kể đến như: tên các tệp tin hệ thống và trình tìm kiếm được tải lên khi khởi động. Khối logic 2 được gọi là Master Directory Block (khối thư mục chính).
Bao gồm các dữ liệu liên quan thư mục: thời gian ngày và giờ tạo thư mục, vị trí của của các cấu trúc thư mục khác, hoặc kích thước của các cấu trúc logic. MDB cũng có một bản sao được gọi là MDB thay thế (khối thư mục chính thay thế). Khối logic 3 là khối khởi động được gọi là Volume Bitmap, khối này theo dõi các khối phân bổ (Allocation Block) nào đang được sử dụng và các khối đang rảnh. Mỗi khối phân bổ được biểu diễn bằng một bit khi khối đó đang được sử dụng và ngược lại.
Vì Volume Bitmap phải được biểu diễn cho một khối phân bổ, kích thước của nó được xác định bằng chính kích thước của khối. Extent Overflow File: là một cấu trúc cây chứa phạm vi bổ sung, ghi lại thông tin khối phân bổ được phân bổ cho từng tệp. Các tệp danh mục là một cấu trúc cây chứa thông tin của tất cả các tệp tin và thư mục được lưu trữ trong ổ đĩa. Nó lưu trữ bốn loại bản ghi.
Mỗi tệp tin bao gồm một bản ghi File Thread lưu trữ tên của tệp và CID của thư mục cha và một bản ghi File lưu trữ các loại siêu dữ liệu về file bao gồm CID của nó kích thước của tệp, ba dấu thời gian khi tệp được tạo, sửa đổi lần cuối và 14 sao lưu lần cuối. Trong khi đó, mỗi thư mục bao gồm một bản ghi Directory Thread lưu trữ tên của thư mục và CID của thư mục cha và một bản ghi Directory lưu trữ dữ liệu như số lượng tệp được lưu trữ trong thư mục, CID của thư mục, ba dấu thời gian khi thư mục được tạo, sửa đổi lần cuối, sao lưu lần cuối. Hai bản ghi File và Directory đều lưu trữ 2 trường 16 byte để Finder (hoạt động với hệ điều hành Macintosh để theo dõi các tệp và duy trì màn hình nền của người dùng) sử dụng. Các tệp và thư mục trong danh mục được định danh bằng ID duy nhất gọi là CID.
Trong hệ thống tệp Macintosh (được gọi là HFS, dành cho hệ thống tệp phân cấp), các tệp không phải là nguyên khối và không bao gồm một phân đoạn duy nhất. Chúng bao gồm hai phần được gọi là fork, tức là một data fork và một resource fork.2 Data fork and Resource fork Data fork: chứa các tệp trên máy tính như văn bản được tạo bởi quá trình xử lý văn bản, các pixel tạo nên nên hình ảnh. Resource Fork: ban đầu, được hình thành và thực hiện bởi lập trình viên Bruce Horm. Sự hiện diện của resource fork giúp việc lưu trữ trở nên dễ dàng, chẳng hạn như cho phép hệ thống hiển thị đúng biểu tượng cho một tệp và mở tệp mà không cần đến phần mở rộng tệp trong tên tệp.
Quyền truy cập vào 15 resource fork hoạt động giống như truy cập tệp trên bất kỳ hệ điều hành nào khác chọn tệp, đọc một số dữ liệu trong tệp. Đôi khi, nó được sử dụng để lưu trữ siêu dữ liệu của tệp Resource fork được sử dụng cho hai mục đính chính với hệ thống tệp Macintosh: Nó được sử dụng để lưu trữ tất cả dữ liệu đồ họa trên đĩa cho đến khi cần, sau đó được lấy ra, vẽ trên màn hình và cuối cùng là loại bỏ. Ngoài ra, nó được sử dụng để phân phố gần như là tất cả các thành phần của ứng dụng trong một tệp duy nhất, giảm bớt sự lộn xộn và đơn giản hóa việc cài đặt và gỡ bỏ các ứng dụng. Danh sách thuộc tính Trước khi đi sâu hơn vào phân tích chi tiết của hệ thống Macintosh, điều quan trọng là phải hiểu rõ về danh sách thuộc tính.
Danh sách thuộc tính, còn được gọi là tệp plist, là nguồn thông tin lớn nhất cho các cài đặt và cấu hình trên Mac OS. Danh sách thuộc tính thường là các tệp văn bản đơn giản được định dạng bằng XML để có thể đọc được trên hệ thống. Thường thì chúng sẽ chứa các chuỗi văn bản, giá trị Boolean và đôi khi là dữ liệu nhị phân được mã hóa. Mặc dù các tệp này có thể được kiểm tra bằng trình soạn thảo văn bản, nhưng hiệu quả nhất là xem thông tin phân cấp trong các tệp này bằng trình đọc XML.3 Danh sách property lists Cảnh báo duy nhất cho điều này là trong Mac OS 10.4, định dạng plist nhị phân đã trở nên phổ biến đối với một số danh sách thuộc tính.
Mặc dù các tệp nhị phân này vẫn chứa dữ liệu XML, nhưng chúng không thể dễ dàng đọc được bằng trình xem tích hợp của một số công cụ. Do đó, nên kiểm tra các tệp danh sách thuộc tính bằng nhiều công cụ để trích xuất nhiều thông tin nhất. Tài khoản người dùng Trong quá trình thực hiện bất kỳ phân tích điều tra nào của máy tính, điều quan trọng là phải điều chỉnh các tài khoản người dùng trên hệ thống và liên kết thông tin với người dùng đó.