Tài liệu Hệ điều hành

Cấu trúc hệ thống Linux bao gồm các lớp sau:  Lớp phần cứng - Bao gồm tất cả các thiết bị ngoại vi (RAM/HDD/CPU ).  Kernel - Thành phần lõi của Hệ điều hành, tương tác trưc tiếp với phần cứng, cung cấp các dịch vụ cấp thấp tới các thành phần lớp trên.  Shell - Một giao diện tới kernel, ẩn giấu sự phức tạp của các chức năng của Kernel tới người sử dụng. Nhận các lệnh từ người sử dụng và thực hiện các tính năng của Kernel.  Các tiện ích - Các chương trình tiện ích cung cấp cho người sử dụng hầu hết các tính năng của Hệ điều hành.

pdf84 trang | Chia sẻ: truongthinh92 | Lượt xem: 1726 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Tài liệu Hệ điều hành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ạng thái. Quản lý bộ nhớ cung cấp sự bảo vệ bởi việc sử dụng hai thanh ghi, một thanh ghi cơ sở và một thanh ghi giới hạn. Thanh ghi cơ sở giữ địa chỉ bộ nhớ vật lý nhỏ nhất và thanh ghi giới hạn xác định kích cớ của dãy. Ví dụ, nếu một thanh ghi cơ sở giữ 300000 và thanh ghi giới hạn là 1209000, thì khi đó chương trình có thể truy cập tất cả các địa chỉ từ 300000 tới 411999. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 47 Các chỉ lệnh và dữ liệu tới các địa chỉ bộ nhớ có thể được thực hiện theo các cách sau:  Thời gian biên dịch -- Khi nó được biết tại thời gian biên dịch, tại nơi các tiến trình sẽ ở lại, việc ràng buộc thời gian biên dịch được sử dụng để tạo mã tuyệt đối.  Thời gian tải -- Khi nó không được biết tại thời gian biên dịch, tại nơi tiến trình ở lại trong bộ nhớ, sau đó bộ biên dịch tạo mã có thể đặt lại vị trí.  Thời gian chạy -- Nếu một tiến trình có thể được di chuyển trong suốt thời gian chạy của nó từ một phân đoạn bộ nhớ tới phân đoạn khác, thì khi đó việc ràng buộc phải bị trì hoãn để được thực hiện tại thời gian chạy. Tải động (dynamic loading) Trong Dynamic Loading, một đoạn chương trình không được tải tới khi nó được gọi bởi một chương trình. Tất cả các đoạn được giữ trên đĩa trong định dạng tải có thể đặt lại vị trí. Chương trình chính được tải vào trong bộ nhớ và được thực hiện. Các phương thức đoạn hoặc môdun khác được tải theo yêu cầu. Dynamic loading tạo sự tiện ích hóa không gian bộ nhớ tốt hơn và các đoạn chương trình không sử dụng thì không bao giờ được tải. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 48 Kết nối động Việc kết nối là tiến trình của việc thu thập và kết nối các module đa dạng của mã và dữ liệu vào trong một file có thể chạy mà có thể được tải vào trong bộ nhớ và thực hiện. Hệ điều hành có thể kết nối các thư viện hệ thống tới một chương trình. Khi nó kết nối các thư viện tại thời gian tải, việc kết nối được gọi là kết nối tĩnh và khi việc kết nối này được thực hiện tại thời điểm của việc thực hiện, nó được gọi là kết nối động. Trong kết nối tĩnh, các thư viện kết nối tại thời gian biên dịch, vì thế cỡ mã chương trình trở lên lớn hơn. Trong khi kết nối động, các thư viện kết nối tại thời gian chạy để cỡ mã chương trình trở lên nhỏ hơn. Không gian địa chỉ vật lý – logic Một địa chỉ tạo bởi một CPU là một địa chỉ logic trong khi địa chỉ thực sự có sẵn trên đơn vị bộ nhớ là một địa chỉ vật lý. Địa chỉ logic cũng còn được biết như là một địa chỉ ảo. Các địa chỉ ảo và vật lý là cùng trong giản đồ ràng buộc địa chỉ thời gian biên dịch và thời gian tải. Các địa chỉ này khác nhau trong biểu đồ ràng buộc địa chỉ thời gian thực hiện. Tập hợp của tất cả các địa chỉ logic tạo bởi một chương trình liên quan tới không gian địa chỉ logic. Tập hợp của tất cả các địa chỉ vật lý tương ứng tới các địa chỉ logic liên quan tới không gian địa chỉ vật lý. Biểu đồ thời gian chạy từ bộ nhớ ảo tới vật lý được thực hiện bởi đơn vị quản lý bộ nhớ (MMU) mà là một thiết bị phần cứng. MMU sử dụng kỹ thuật sau để chuyển đổi địa chỉ ảo thành địa chỉ vật lý:  Giá trị của một thanh ghi cơ sở được thêm vào tới mỗi địa chỉ được tạo ra bởi một tiến trình người sử dụng mà được đối xử như là offset tại thời điểm nó được gửi tới bộ nhớ. Ví dụ, nếu giá trị thanh ghi cơ sở là 10000, thì một sự thử bởi người dùng để sử dụng các vị trí địa chỉ 100 sẽ được cấp phát lại tới vị trí 10000.  Chương trình người sử dụng chỉ thực hiện với các địa chỉ ảo. Nó không bao giờ quan sát các địa chỉ vật lý. Swapping Swapping là một kỹ thuật trong đó một tiến trình có thể được trao đổi một cách liên tục bên ngoài bộ nhớ tới một kho lưu sau (backing store), và sau đó mang lại sau vào trong bộ nhớ để tiếp tục chạy. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 49 Kho lưu sau thường là một thiết bị đĩa cứng hoặc bất cứ một kho lưu thứ cấp khác mà nhanh trong truy cập và đủ lớn để đặt vị trí các bản sao của tất cả ảnh bộ nhớ cho tất cả người dùng. Nó phải có khả năng cung cấp sự truy cập trực tiếp tới các ảnh bộ nhớ này. Phần lớn thời gian của swapping là thời gian trao đổi. Tổng thời gian trao đổi là trực tiếp tỷ lệ thuận với lượng bộ nhớ được trao đổi. Giả sử rằng tiến trình sử dụng là 100KB và kho lưu sau là một đĩa cứng tiêu chuẩn với tỷ lệ trao đổi là 1MB/giây. Thì thời gian thực sự trao đổi của tiến trình 100KB tới hoặc từ bộ nhớ sẽ là: 100KB / 1000KB mỗi giây = 1/10 giây = 100 mini giây Sự cấp phát bộ nhớ Bộ nhớ chính thường có hai ngăn:  Low Memory -- Hệ điều hành ở trong bộ nhớ này Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 50  High Memory -- Các tiến trình sử dụng được giữ trong bộ nhớ này. Hệ điều hành sử dụng các kỹ thuật cấp phát bộ nhớ sau: STT Sự cấp phát bộ nhớ Miêu tả 1 Sự cấp phát ngăn đơn Trong kiểu cấp phát này, giản đồ thanh ghi đặt lại vị trí được sử dụng để bảo vệ các tiến trình người dùng từ các tiến trình người dùng khác, và từ việc thay đổi mã Hệ điều hành và dữ liệu. Thanh ghi đặt lại vị trí chứa giá trị các địa chỉ địa chỉ vật lý nhỏ nhất, nếu không thanh ghi giới hạn chứa dãy các địa chỉ logic. Mỗi địa chỉ logic phải nhỏ hơn thanh ghi giới hạn. 2 Sự cấp phát đa ngăn Trong kiểu cấp phát này, bộ nhớ chính được phân chia nhỏ thành các ngăn có cỡ cố định, tại nơi này mỗi ngăn nên chỉ chứa một tiến trình. Khi một ngăn là rỗi, một tiến trình được chọn từ hàng đầu vào và được tải vào trong ngăn rỗi đó. Khi tiến trình hoàn thành, ngăn này lại sẵn sàng cho tiến trình khác. Sự phân mảnh (Fragmentation) Khi các tiến trình được tải và được gỡ bỏ từ bộ nhớ, phần không gian bộ nhớ rỗi được chia nhỏ thành nhiều phần. Việc chia nhỏ xảy ra sau một vài lần khi mà các tiến trình không được cấp phát tới khối bộ nhớ với việc giả sử rằng kích cỡ của chúng là nhỏ và các khối bộ nhớ vẫn chưa được sử dụng. Vấn đề này được biết như là sự phân mảnh (Fragmentation). Có hai kiểu Fragmentation: STT Fragmentation Miêu tả Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 51 1 Sự phân mảnh ngoại vi Tổng không gian bộ nhớ là đủ để thỏa mãn một yêu cầu hoặc để cư trú một tiến trình trong đó, nhưng nó không kề nhau để nó có thể được sử dụng. 2 Sự phân mảnh nội vi Khối bộ nhớ được chỉ định cho tiến trình là lớn hơn. Một vài phần của bộ nhớ sẽ trở nên không được sử dụng khi nó không thể được sử dụng bởi tiến trình khác (đã chỉ định cho tiến trình trước). Sự phân mảnh ngoại vi có thể giảm bằng cách nén hoặc trộn các nội dung bộ nhớ ngẫu nhiên để đặt tất cả các phần bộ nhớ rỗi trong một khối lớn hơn. Để làm cho việc nén trở nên dễ dàng, sự đặt lại vị trí nên ở trạng thái động. Kỹ thuật đánh số trang Sự phân mảnh ngoại vi được tránh bởi kỹ thuật đánh số trang. Trong kỹ thuật này thì bộ nhớ vật lý được chia nhỏ thành các khối cùng kích thước được gọi là các trang (kích thước là 2, giữa 512 byte và 8192 byte). Khi một tiến trình được thực hiện, các trang tương ứng của nó được tải vào trong bất kỳ một khung bộ nhớ có sẵn nào. Không gian địa chỉ logic của một tiến trình có thể không liền kề và một tiến trình được cấp phát bộ nhớ vật lý bất cứ khi nào khung bộ nhớ rỗi có sẵn. Hệ điều hành theo dõi tất cả các khung bộ nhớ rỗi. Hệ điều hành cần n khung rỗi để chạy một chương trình với kích cỡ là n trang. Địac chỉ tạo bởi CPU được phân chia thành:  Số trang (p) -- được sử dụng như là một danh mục trong một bảng trang mà chứa địa chỉ cơ sở của mỗi trang trong bộ nhớ vật lý.  Offset trang (d) -- được kết nối với địa chỉ cơ bản để xác định rõ địa chỉ bộ nhớ vật lý. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 52 Biểu đồ dưới là cấu trúc bảng trang: Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 53 Kỹ thuật phân đoạn Sự phân đoạn là một kỹ thuật để phân chia bộ nhớ thành các phần logic nhỏ tại đó mỗi phần đại diện cho một nhóm thông tin liên quan với nhau. Ví dụ, các phân đoạn dữ liệu hoặc phân đoạn mã cho mỗi tiến trình, phân đoạn dữ liệu cho Hệ điều hành Sự phân đoạn có thể được thực hiện với việc sử dụng hoặc không sử dụng kỹ thuật đánh số trang. Không giống kỹ thuật đánh số trang, phân đoạn là có nhiều kích cỡ và như vậy nó khử sự phân mảnh nội vi. Sự phân mảnh ngoại vi vẫn tồn tại nhưng với phạm vi nhỏ hơn. Địa chỉ được tạo ra bởi CPU được phân chia thành:  Số phân đoạn (s) -- được sử dụng như là một chỉ mục trong bảng phân đoạn mà chứa địa chỉ cơ bản của mỗi phân đoạn trong bộ nhớ vật lý và giới hạn của phân đoạn.  Offset phân đoạn (o) -- được kiểm tra đầu tiên để so sánh với giới hạn và sau đó được kết nối với địa chỉ cơ sở để xác định rõ địa chỉ bộ nhớ vật lý. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 54 Bộ nhớ ảo trong OS Bộ nhớ ảo là một kỹ thuật mà cho phép việc thực hiện các tiến trình mà không hoàn toàn có sẵn trong bộ nhớ. Lợi thế thấy rõ chính của giản đồ này là chương trình đó có thể lớn hơn bộ nhớ vật lý. Bộ nhớ ảo là phần riêng biệt của bộ nhớ logic người dùng từ bộ nhớ vật lý. Phần riêng biệt này cho phép một bộ nhớ ảo lớn được cung cấp cho các người lập chương trình khi mà chỉ có bộ nhớ vật lý nhỏ hơn là có sẵn. Dưới đây là các tình huống, khi toàn bộ chương trình là không được yêu cầu tải toàn bộ trong bộ nhớ chính:  Các đoạn chương trình kiểm soát lỗi được viết bởi người dùng chỉ được sử dụng khi một lỗi xảy ra trong dữ liệu hoặc trong tính toán.  Các chức năng và tính năng nào đó của chương trình hiếm khi được sử dụng.  Nhiều bảng được chỉ định một số lượng cố định không gian địa chỉ ngay cả khi chỉ có một số lượng bảng thực sự được sử dụng.  Khả năng để chạy một chương trình mà chỉ một phần trong bộ nhớ sẽ đem lại nhiều lợi ích.  Số lượng ít các I/O cần để tải hoặc trao đổi mỗi chương trình người dùng trong bộ nhớ. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 55  Một chương trình có thể không bị hạn chế bởi số lượng bộ nhớ vật lý có sẵn.  Mỗi chương trình người dùng có thể dùng ít bộ nhớ vật lý hơn, nhiều chương trình có thể chạy cùng một thời điểm, với sự tăng lên tương ứng của việc tiện ích hóa CPU. Bộ nhớ ảo thường được thực hiện bởi kỹ thuật đánh số trang yêu cầu. Nó cũng có thể được thực hiện trong hệ thống phân đoạn. Sự phân đoạn yêu cầu có thể cũng được sử dụng để cung cấp bộ nhớ ảo. Kỹ thuật đánh số trang yêu cầu (demand paging) Hệ thống đánh số trang yêu cầu là khá giống với hệ thống đánh số trang với việc swapping. Khi chúng ta muốn thực hiện một chương trình, chúng ta trao đổi nó vào trong bộ nhớ. Thay vì việc trao đổi toàn bộ tiến trình vào trong bộ nhớ, chúng ta sử dụng một máy nhắn tin pager. Khi một tiến trình được trao đổi, pager dự đoán các trang nào sẽ được sử dụng trước khi tiến trình được trao đổi lại ra ngoài. Thay vì trao đổi trong một tổng thể chương trình, pager chỉ mang những trang cần thiết vào trong bộ nhớ. Vì thế, nó tránh đọc các trang bộ nhớ mà sẽ không được sử dụng, giảm được thời gian trao đổi và lượng bộ nhớ vật lý cần thiết. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 56 Sự hỗ trợ phần cứng là cần thiết để phân biệt giữa các trang mà trong bộ nhớ với các trang trong phần cứng. Tại nơi các trang có hiệu lực và không có hiệu lực có thể được kiểm tra bởi việc kiểm tra bit. Đánh dấu một trang sẽ không hiệu quả nếu tiến trình không bao giờ thử truy cập vào trang. Trong khi tiến trình thực hiện và truy cập vào trang mà ở trong bộ nhớ, sự thực hiện được tiến hành bình thường. Truy cập tới một trang được đánh dấu là không hiệu lực vì một bẫy trang lỗi (page-fault trap). Bẫy này là kết quả của lỗi hệ thống để mang các trang yêu cầu vào trong bộ nhớ. Nhưng lỗi trang có thể được giải quyết như sau: Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 57 Bước Miêu tả Bước 1 Kiểm tra một bảng nội vi cho tiến trình này, để xác định sự liên hệ là hiệu lực hay không hoặc nó là một sự truy cập bộ nhớ không hiệu lực. Bước 2 Nếu sự liên hệ là không hiệu lực, kết thúc tiến trình. Nếu nó là hiệu lực, nhưng trang vẫn chưa được mang vào, trang ở thứ tự sau. Bước 3 Tìm một khung rỗi. Bước 4 Lập giản đồ một hoạt động đĩa để đọc trang yêu cầu vào trong khung được cấp phát mới nhất. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 58 Bước 5 Khi đọc đĩa kết thúc, chỉnh sửa bảng nội vi được giữ cùng với tiến trình và bảng trang để chỉ dẫn rằng trang bây giờ trong bộ nhớ. Bước 6 Bắt đầu lại chỉ lệnh mà đã bị ngắt bởi bẫy địa chỉ không hợp lệ. Tiến trình bây giờ có thể truy cập vào trang. Bởi vậy, Hệ điều hành đọc các trang yêu cầu vào trong bộ nhớ và bắt đầu lại tiến trình khi mà trang đã luôn luôn ở trong bộ nhớ. Các lợi thế Dưới đây là các lợi thế của Đánh số trang yêu cầu:  Bộ nhớ ảo lớn.  Hiệu quả hơn trong việc sử dụng bộ nhớ.  Đa chương trình không bị gò bó. Không có giới hạn về mức độ đa chương trình. Các bất lợi Dưới đây là các bất lợi của Đánh số trang yêu cầu:  Số lượng các bảng và lượng bộ xử lý vượt quá để giải quyết việc ngắt trang là lớn hơn trong trường hợp các kỹ thuật quản lý đánh trang đơn.  Do thiếu một sự ràng buộc rõ ràng trên một kích cỡ không gian địa chỉ công việc. Thuật toán đổi vị trí trang Thuật toán đổi vị trí trang là các kỹ thuật sử dụng mà Hệ điều hành quyết định các trang bộ nhớ nào được trao đổi, viết vào đĩa khi một trang của bộ nhớ cần được cấp phát. Đánh số trang xảy ra bất cứ khi nào một lỗi trang xảy ra và một trang rỗi không thể được sử dụng cho mục đích cấp phát, lý do mà các trang không có sẵn hoặc số trang rỗi là ít hơn các trang yêu cầu. Khi trang mà được chọn để đổi vị trí và được đánh trang, được liên hệ lại thì khi đó nó phải đọc từ đĩa, và yêu cầu này cho sự kết thúc I/O. Tiến trình này quyết định loại thuật toán đổi vị trí trang: thời gian đợi để trang vào ít hơn, thì thuật toán là tốt hơn. Một thuật toán đổi vị trí trang quan sát thông tin bị giới hạn về việc truy cập vào các trang được cung cấp bởi phần cứng, và cố gắng để chọn các trang nào nên được đổi vị trí để tối thiểu hóa tổng lượng trang bị quên, trong khi việc cân Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 59 bằng nó với phí tổn của kho lưu sơ cấp và thời gian bộ xử lý của chính thuật toán. Có nhiều thuật toán đổi vị trí trang khác nhau. Chúng ta tính toán một thuật toán bằng việc chạy nó trên một chuỗi cụ thể của bộ nhớ tham chiếu và tính toán lượng trang lỗi. Chuỗi tham chiếu Chuỗi tham chiếu được tạo ra một cách giả tạo hoặc bằng cách lần theo một hệ thống đã cho và ghi lại địa chỉ của mỗi tham chiếu bộ nhớ. Sự chọn sau tạo một số lớn dữ liệu, tại nơi này chúng ta viết hai thứ sau:  Với một cỡ trang đã cho chúng ta cần suy xét chỉ số trang, không phải toàn bộ địa chỉ.  Nếu chúng ta có một sự tham chiếu tới một trang, thì khi đó bất kỳ các tham chiếu sau ngay lập tức tới trang p sẽ không bao giờ gây ra lỗi trang. Trang p sẽ trong bộ nhớ sau tham chiếu đầu tiên; các tham chiếu sau ngay lập tức sẽ lỗi.  Ví dụ, giả sử có dãy các địa chỉ liên tục sau: 123,215,600,1234,76,96.  Nếu cỡ trang là 100 thì khi đó chuỗi tham chiếu là 1,2,6,12,0,0. Thuật toán Vào đầu ra đầu (First In First Out - FIFO)  Các trang vào đầu tiên trong bộ nhớ là một trang được chọn để đổi vị trí.  Dễ dàng để thực hiện, giữ một danh sách, đổi các trang từ đuôi và thêm các trang mới tại đầu. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 60 Thuật toán Trang quang học  Thuật toán đổi vị trí trang quang học có tỉ lệ trang lỗi ít nhất trong tất cả các thuật toán. Một thuật toán đổi vị trí quang học tồn tại và đã được gọi là OPT hoặc MIN.  Đổi vị trí trang mà không được sử dụng cho thời gian dài nhất. Sử dụng thời gian khi một trang được sử dụng. Thuật toán Được sử dụng gần đây nhất (Least Recently Used - LRU)  Trang mà không được sử dụng cho thời gian dài nhất trong bộ nhớ chính là một trang được chọn để đổi vị trí.  Dễ dàng để thực hiện, giữ một danh sách, đổi các trang bởi việc quan sát các lần nhập trang sau. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 61 Thuật toán Chuyển hoán đệm trang  Để bắt đầu tiến trình một cách nhanh chóng, giữ một pool của các khung rỗi.  Trên trang lỗi, chọn một trang để được đổi vị trí.  Viết trang mới trong khung rỗi, đánh dấu bảng trang và bắt đầu lại tiến trình.  Bây giờ viết trang lỗi ra đĩa và đặt vị trí khung giữ trang đổi vị trí trong khu vực rỗi. Thuật toán Được sử dụng thường xuyên ít nhất (Least frequently Used - LFU)  Trang với lượng tính nhỏ nhất là một trang được chọn để đổi vị trí.  Thuật toán này được sử dụng nhiều trong giai đoạn đầu của tiến trình, nhưng sau đó nó không bao giờ được sử dụng lại. Thuật toán Được sử dụng thường xuyên nhất (Most Frequently Used MFU)  Thuật toán này trên cơ sở trang với tính toán trang nhỏ nhất là có thể được mang vào trong và chưa được sử dụng. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 62 Phần cứng Nhập/Xuất (IO) trong OS Tổng quan Máy tính hoạt động trên nhiều loại thiết bị. Các loại chung bao gồm các thiết bị lưu trữ (các đĩa, các băng), các thiết bị trao đổi (các thẻ mạng hệ thống, các modem) và các thiết bị giao diện người dùng (màn hình, bàn phím, chuột). Các thiết bị khác thì đặc biệt hơn. Một thiết bị giao tiếp với hệ thống máy tính bằng việc gửi các tín hiệu thông qua một cáp hoặc thông qua không khí. Thiết bị giao tiếp với máy móc thông qua một điểm kết nối đặt trong một cổng (port) (ví dụ: một serial port). Nếu một hoặc nhiều thiết bị sử dụng một bộ dây wire chung, sự kết nối này được gọi là bus. Một bus là một bộ thiết lập của các wire và một giao thức được xác định rõ một cách cứng nhắc mà xác định một bộ thiết lập các thông báo có thể được gửi trên các wire. Chuỗi daisy Khi thiết bị A có một cáp mà cắm vào trong thiết bị B, và thiết bị B có một cáp cắm vào thiết bị C, và thiết bị C cắm vào trong một port trên máy tính, sự sắp xếp này được gọi là daisy chain. Nó thường tổ chức như là một bus. Bộ điều khiển Là một tập hợp các thiết bị điện tử mà có thể điều hành một port, một bus, hoặc một thiết bị. Một bộ điều khiển serial port là một ví dụ của một bộ điều khiển thiết bị đơn. Đây là một chip trong máy tính mà điều khiển các tín hiệu trên các wire của một serial port. Bộ điều khiển SCSI bus thường được thực hiện như là một bảng mạch riêng mà cắm vào trong máy tính. Nó chứa một bộ xử lý, vi cốt, và một vài bộ nhớ tư nhân để cho nó khả năng xử lý các thông báo giao thức SCSI. Một vài thiết bị có các bộ điều khiển riêng được xây dựng trong nó. Cổng I/O Một cách đặc trưng thì I/O port chứa 4 thanh ghi được gọi là các thanh ghi trạng thái, điều khiển, dữ liệu nhập và dữ liệu ra: STT Thanh ghi & Miêu tả 1 Thanh ghi trạng thái Chứa các bit mà có thể sẵn sàng bởi host. Những bit này chỉ trạng Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 63 thái mà có hay không các lệnh hiện tại đã hoàn thành, có hay không một byte là có sẵn để được đọc từ thanh ghi đầu vào, và có hay không đã có một thiết bị bị lỗi. 2 Thanh ghi điều khiển Thanh ghi điều khiển này có thể được viết bởi host để bắt đầu một lệnh hoặc để thay đổi chế độ của một thiết bị. Ví dụ, một bit ngẫu nhiên trong thanh ghi điều khiển của một serial port chọn giữa sự giao tiếp full-duplex và half-duplex, cái khác cho khả năng ngang bậc kiểm soát, một bit thứ ba thiết lập độ dài từ từ 7-8 bit, các bit khác chọn một trong những tốc độ được hỗ trợ bởi serial port. 3 Thanh ghi dữ liệu nhập Thanh ghi dữ liệu nhập được đọc bởi host để nhận dữ liệu đầu vào. 4 Thanh ghi dữ liệu ra Thanh ghi dữ liệu ra được viết bởi host để gửi kết quả đầu ra. Polling Polling là một tiến trình bởi nó mà một host đợi cho bộ điều khiển phản hồi. Nó là một tiến trình lặp, đọc trạng thái thanh ghi thông qua các bit bận của thanh trạng thái đến hết. Bộ điều khiển sử dụng/thiết lập bit bận khi nó đang làm việc trên một lệnh, và làm sạch các bit bận khi nó là sẵn sàng để chấp nhận lệnh tiếp. Host báo hiệu điều nó muốn thông qua bit lệnh-sẵn sàng trong thanh lệnh. Host thiết lập bit này khi một lệnh là có sẵn cho bộ điều khiển để thực hiện. Trong ví dụ sau, host viết kết quả đầu ra thông qua một port, mà kết nối với bộ điều khiển:  Host lặp đi lặp lại đọc bit bận tới khi bit đó trở nên rỗng.  Host thiết lập bit viết trong thanh lệnh và viết một byte vào trong thanh dữ liệu đầu ra.  Host thiết lập bit lệnh-sẵn sàng.  Khi bộ điều khiển thông báo rằng bit lệnh-sẵn sàng đã được thiết lập, nó thiết lập bit bận. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 64  Bộ điều khiển đọc thanh lệnh và quan sát lệnh write.  Nó đọc thanh dữ liệu đầu ra để nhận các byte, và thực hiện I/O tới thiết bị.  Bộ điều khiển dọn sạch bit lệnh-sẵn sàng, dọn sạch bit lỗi trong thanh trạng thái để chỉ rằng các thiết bị I/O thực hiện thành công, và dọn sạch bit bận để chỉ rằng nó đã hoàn thành. Các thiết bị I/O Các thiết bị I/O có thể được phân thành các loại sau: STT Loại & Miêu tả 1 Người dùng có thể đọc Các thiết bị người dùng có thể đọc phù hợp cho giao tiếp với người sử dụng máy tính. Các ví dụ là máy in, video, bàn phím 2 Máy móc có thể đọc Các thiết bị máy móc có thể đọc phù hợp cho giao tiếp với các thiết bị điện tử. Các ví dụ là các đĩa, băng, bộ điều khiển. 2 Giao tiếp Các thiết bị trao đổi thông tin phù hợp cho giao tiếp với các thiết bị điều khiển. Các ví dụ là các đường dây dẫn kỹ thuật và các modem. Dưới đây là sự khác nhau giữa các thiết bị I/O: STT Tiêu chuẩn & Miêu tả 1 Tỉ lệ dữ liệu Có thể có sự khác biệt về các bậc cường độ giữa các tỉ lệ truyền tải dữ liệu. 2 Ứng dụng Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 65 Các thiết bị khác nhau có sự sử dụng khác nhau trong hệ thống. 3 Tính phức tạp của điều khiển Một đĩa thì phức tạp hơn trong khi máy in yêu cầu giao thức tương tác điều khiển đơn. 4 Đơn vị truyền tải Dữ liệu có thể được truyền tải như là một luồng các byte hoặc các ký tự hoặc trong các khối lớn hơn. 5 Sự đại diện (mã hóa) cho dữ liệu Các giản đồ mã hóa dữ liệu khác nhau được sử dụng cho các thiết bị khác nhau. 6 Các điều kiện lỗi Khác nhau một cách rộng rãi cho từng thiết bị. Sự truy cập bộ nhớ trực tiếp (DMA) Nhiều máy tính tránh gánh nặng của CPU chính với I/O được chương trình hóa bởi việc dừng tải một vài công việc tới bộ xử lý mục đích đặc biệt. Kiểu này của bộ xử lý được gọi là một bộ điều khiển truy cập bộ nhớ trực tiếp. Một đơn vị điều khiển đặc biệt được sử dụng để truyền tải khối dữ liệu một cách trực tiếp giữa các thiết bị ngoại vi và bộ nhớ chính, mà không cần sự can thiệp của bộ xử lý. Hướng tiếp cận này được gọi là Direct Memory Access (DMA). DMA có thể được sử dụng với phần mềm polling hoặc phần mềm ngắt. DMA là đặc biệt hữu ích trên các thiết bị như các đĩa, nơi mà rất nhiều byte thông tin có thể được truyền tải trong các hoạt động I/O đơn. Khi sử dụng với một phần mềm ngắt, CPU được thông báo chỉ sau khi cả khối của dữ liệu đã được truyền tải. Đối với mỗi byte hoặc từ được truyền tải, nó phải cung cấp địa chỉ bộ nhớ và tất các tín hiệu bus điều khiển việc truyền tải dữ liệu. Tương tác với bộ điều khiển thiết bị được quản lý thông qua một driver thiết bị. Handshaking là một tiến trình giữa bộ điều khiển DMA và bộ điều khiển thiết bị. Nó được thực hiện thông qua các wire bằng sử dụng các mục yêu cầu DMA và sự công nhận DMA. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 66 Bước Miêu tả 1 Driver thiết bị được chỉ dẫn để truyền tải dữ liệu từ đĩa tới một bộ đệm địa chỉ X. 2 Driver thiết bị sau đó chỉ dẫn bộ điều khiển đĩa để truyền tải dữ liệu tới bộ đệm. 3 Bộ điều khiển đĩa bắt đầu truyền tải DMA. 4 Bộ điều khiển đĩa gửi từng byte tới bộ điều khiển DMA. 5 Bộ điều khiển DMA truyền tải các byte tới bộ đệm, làm tăng địa chỉ Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 67 bộ nhớ, giảm bộ đếm từ C tới 0. 6 Khi C trở về 0, DMA ngắt CPU để gửi tín hiệu việc hoàn thành truyền tải. Các bộ điều khiển thiết bị Một hệ thống máy tính chứa nhiều kiểu thiết bị I/O và các bộ điều khiển riêng phần.  Thẻ hệ thống  Đầu đọc đồ họa (graphics adapter)  Bộ điều khiển đĩa  Bộ điều khiển DVD-ROM  Serial port  USB  Thẻ âm thanh Phần mềm Nhập/Xuất (I/O) trong OS Các phần mềm ngắt (interrupts) Phần cứng CPU sử dụng một đường wire yêu cầu ngắt mà giúp CPU cảm nhận sau khi thực hiện mỗi chỉ lệnh. Khi CPU kiểm tra rằng một bộ điều khiển đã đặt một tín hiệu trên dây yêu cầu ngắt, CPU lưu trạng thái, như giá trị hiện tại của điểm con trỏ chỉ lệnh, và nhảy tới đoạn kiểm soát ngắt tại một địa chỉ cố định. Phần kiểm soát ngắt quyết định việc gây ra ngắt, thực hiện tiến trình cần thiết và chạy một chỉ lệnh ngắt để trả lại tới CPU về trạng thái thực hiện của nó. Kỹ thuật ngắt cơ bản cho CPU khả năng để phản hồi tới một sự kiện không đồng bộ, như khi một bộ điều khiển thiết bị trở lên sẵn sàng để phục vụ. Hầu hết CPU có hai đường dây yêu cầu ngắt:  Ngắt không che dấu (non-maskable) - Loại này được dành cho những sự kiện như các lỗi bộ nhớ mà không thể phát hiện. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 68  Ngắt che dấu (maskable) - Loại này có thể được chuyển đổi tắt bởi CPU trước khi sự thực hiện của các chỉ lệnh quan trọng mà không được ngắt. Kỹ thuật ngắt chấp nhận một địa chỉ - một số mà chọn chức năng/đoạn điều khiển ngắt đặc trưng từ một bộ thiết lập nhỏ. Trong hầu hết các cấu trúc, địa chỉ này là một kho lưu offset trong một bảng được gọi là bảng vecto ngắt. Vecto này chứa các địa chỉ bộ nhớ của các bộ điều khiển ngắt đặc biệt. Giao diện I/O ứng dụng Giao diện I/O ứng dụng đại diện cho các kỹ thuật cấu trúc và các giao diện cho Hệ điều hành để cho các thiết bị I/O khả năng để đối xử theo một cách tiêu chuẩn, đồng nhất. Sự khác nhau thực sự nằm ở các modun mức độ hạt nhân gọi bộ điều khiển thiết bị mà được thiết kế riêng tương ứng cho các thiết bị nhưng chỉ một trong các giao diện tiêu chuẩn được áp dụng. Mục đích của bộ điều khiển thiết bị là để ẩn dấu sự khác nhau trong các bộ điều khiển thiết bị từ hệ thống phụ I/O của hạt nhân, như các triệu hồi hệ thống I/O. Dưới đây là các đặc trưng của các giao diện I/O riêng tới các thiết bị:  Ký tự-luồng / khối - Một thiết bị ký tự-luồng/khối truyền tải các byte theo kiểu một tới một, nếu không thì một thiết bị khối truyền tải một đơn vị đầy đủ đầy đủ của các byte.  Liên tục / ngẫu nhiên-truy cập - Một thiết bị liên tục truyền tải dữ liệu theo một thứ tự cố định được quyết định bởi thiết bị, thiết bị ngẫu nhiên/truy cập có thể được ra chỉ lệnh để tìm kiếm vị trí tới bất cứ các vị trí kho lưu dữ liệu có sẵn nào.  Đồng bộ / không đồng bộ - Một thiết bị đồng bộ thực hiện việc truyền tải dữ liệu với thời gian phản hồi đã biết trong khi đó một thiết bị không đồng bộ chỉ thời gian truyền tải không dự đoán được.  Có thể chia sẻ / chuyên dụng - Một thiết bị có thể chia sẻ có thể được sử dụng đồng thời bởi một vài tiến trình hoặc chuỗi trong khi một thiết bị chuyên dụng không thể được sử dụng như vậy.  Tốc độ hoạt động - Các tốc độ thiết bị có thể xếp dãy từ một vài byte mỗi giây tới một vài GB mỗi giây.  Viết-đọc, chỉ đọc hoặc chỉ viết - Một vài thiết bị thực hiện cả đầu vào và đầu ra, nhưng những cái khác chỉ hỗ trợ một chiều dữ liệu mà chỉ đọc. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 69 Các đồng hồ xung Các đồng hồ xung cũng được gọi là bộ đếm thời gian. Phần mềm đồng hồ xung nhận mẫu của một bộ điều khiển thiết bị dù cho một đồng hồ xung không là một thiết bị khối hoặc là một thiết bị trên cơ sở ký tự. Phần mềm đồng hồ xung là driver đồng hồ xung. Chức năng chính xác của bộ điều khiển này có thể đa dạng phụ thuộc vào Hệ điều hành. Một cách chung nhất, các chức năng của bộ điều khiển này bao gồm: STT Nhiệm vụ Miêu tả 1 Duy trì thời gian của ngày Bộ điều khiển đồng hồ xung thực hiện thời gian của ngày hoặc chức năng đồng hồ thời gian thực. Nó yêu cầu việc lượng gia một bộ đếm tại mỗi tích tắc đồng hồ. 2 Ngăn cản tiến trình chạy thời gian quá dài Khi một tiến trình bắt đầu, giản đồ Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 70 khởi tạo bộ đếm lượng tử trong các tích tắc đồng hồ cho tiến trình. bộ điều khiển đồng hồ xung giảm bộ đếm lượng tử về 1, tại điểm mà mỗi đồng hồ ngắt. Khi bộ đếm về 0, driver này gọi giản đồ để thiết lập tiến trình khác. Do đó, bộ điều khiển đồng hồ xung giúp ngăn ngừa tiến Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 71 trình chạy dài hơn thời gian được phép. 3 Thống kê kế toán về sự sử dụng CPU Chức năng khác thực hiện bởi bộ điều khiển đồng hồ xung là thống kê kế toán sự sử dụng CPU. Thống kê này nói rằng thời gian tiến trình chạy là bao lâu. 4 Cung cấp bộ bấm giờ watchdog cho mỗi phần của chính hệ thống Bộ đồng hồ bấm giờ watchdog là các bộ thiết lập Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 72 đồng hồ bấm giờ bởi các phần nào đó của hệ thống. Ví dụ, để sử dụng đĩa mềm, hệ thống phải bật động cơ và sau đó đợi trong 500 mini giây cho nó khởi động tới tốc độ hoạt động. Hệ thống phụ Kernel I/O Hệ thống phụ này có chức năng cung cấp nhiều dịch vụ liên quan tới I/O. Dưới đây là một số dịch vụ được cung cấp:  Lập giản đồ - Kernel lập giản đồ một bộ các yêu cầu I/O để quyết định một thứ tự tốt trong đó để thực hiện chúng. Khi một ứng dụng thông báo một triệu hồi hệ thống I/O đóng khối, yêu cầu được đặt trên hàng cho thiết bị đó. Bộ giản đồ hạt nhân I/O sắp xếp lại thứ tự của hàng để cải thiện hiệu quả toàn hệ thống và thời gian phản hồi trung bình bởi các ứng dụng.  Tạo đệm - Hệ thống phụ hạt nhân I/O duy trì một khu vực bộ nhớ mà được biết đến như là bộ đệm mà lưu dữ liệu trong khi chúng được truyền tải giữa hai thiết bị hoặc giữa một thiết bị với một hoạt động ứng dụng. Tạo đệm được thực hiện để đối phó với một tốc độ không Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 73 kết nối giữa nhà sản xuất và khách hàng về luồng dữ liệu hoặc để thích nghi giữa các thiết bị mà có cỡ dữ liệu truyền tải khác nhau.  Bộ nhớ ẩn - Kernel duy trì một bộ nhớ ẩn (thường gọi là bộ nhớ cây - cache) mà là miền bộ nhớ nhanh mà giữ các bản sao của dữ liệu. Truy cập vào bản sao bộ nhớ ẩn này là hiệu quả hơn truy cập vào bộ nhớ ban đầu.  Điều kiện hạn chế thiết bị và spooling Một spool là một bộ đệm mà giữ đầu ra cho một thiết bị, như máy in, mà không thể chấp nhận các luồng dữ liệu được chen vào. Hệ thống spooling sao chép các ống file được sắp hàng tới máy in tại một thời điểm. Trong một vài Hệ điều hành, spooling được quản lý bởi tiến trình daemon hệ thống. Trong các Hệ điều hành khác, nó được kiểm soát bởi một thread hạt nhân.  Kiểm soát lỗi Một Hệ điều hành mà sử dụng bộ nhớ được bảo vệ có thể tránh được nhiều loại lỗi phần cứng và lỗi ứng dụng. Bộ điều khiển thiết bị Bộ điều khiển thiết bị là một chương trình hoặc một đoạn chương trình cho một thiết bị I/O. Một bộ điều khiển thiết bị thực hiện các hoạt động I/O hoặc chạy trên một loại thiết bị đặc biệt. Ví dụ, một hệ thống hỗ trợ một hoặc nhiều các nhãn điện cực, tất cả các điện cực khác nhau chút ít này có thể có một bộ điều khiển điện cực đơn. Trong cấu trúc lớp của hệ thống I/O, bộ điều khiển thiết bị nằm giữa bộ kiểm soát ngắt và phần mềm I/O độc lập. Công việc của bộ điều khiển thiết bị như sau:  Chấp nhận yêu cầu từ phần mềm độc lập thiết bị ở trên nó.  Quan sát tới các yêu cầu được thực hiện. Cách một bộ điều khiển thiết bị kiểm soát một yêu cầu như sau: Giả sử một yêu cầu tới để đọc một khối N. Nếu bộ điều khiển là rỗi tại thời điểm một yêu cầu đến, nó bắt đầu thực hiện yêu cầu ngay lập tức. Nếu không thì, nếu thiết bị đã bận với một vài yêu cầu khác, nó đặt yêu cầu mới trong hàng yêu cầu trong lúc chờ đợi. Hệ thống file trong OS Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 74 File Một file là một tập hợp được đặt tên của các thông tin liên quan mà được ghi vào kho lưu thứ cấp như các đĩa từ, các băng từ và các đĩa quang. Về tổng thể, một file là một sự sắp hàng của các bit, các byte, các dòng hoặc các bản ghi mà ý nghĩa của nó được xác định rõ bởi người tạo ra nó. Cấu trúc file Cấu trúc file là một cấu trúc, mà theo một định dạng được yêu cầu để Hệ điều hành có thể hiểu.  Một file có một cấu trúc xác định nào đó theo kiểu của nó.  Một file văn bản là một chuỗi liên tục các ký tự được tổ chức trong các dòng.  Một file nguồn là một chuỗi liên tục các phương thức và chức năng.  Một file đối tượng là một chuỗi liên tục các byte được tổ chức vào trong các khối mà có thể hiểu bởi máy móc.  Khi Hệ điều hành định nghĩa các cấu trúc file khác nhau, nó cũng chứa code để hỗ trợ những cấu trúc file này. Unix, MS-DOS hỗ trợ số lượng nhỏ nhất các cấu trúc file. Kiểu file Kiểu file liên quan tới khả năng của Hệ điều hành để phân biệt các kiểu khác nhau của file như các file văn bản, các file nguồn, và các file nhị phân. Rất nhiều Hệ điều hành hỗ trợ nhiều kiểu file khác nhau. Hệ điều hành như MS-DOS và Unix có các kiểu file sau: Các file thường  Đây là các file chứa thông tin người dùng.  Những file này chứa văn bản, cơ sở dữ liệu hoặc chương trình có thể chạy được.  Người dùng có thể áp dụng các hoạt động đa dạng trên những file này như thêm, chỉnh sửa, xóa hoặc gỡ bỏ toàn bộ file. File thư mục  Những file này chứa danh sách các tên file và thông tin khác liên quan đến những file này. Các file đặc biệt  Những file này cũng được biết như những file thiết bị. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 75  Đại diện cho các thiết bị vật lý như các đĩa, các máy in, mạng hệ thống, Những file này có hai kiểu:  Các file ký tự đặc biệt - Dữ liệu được điều khiển tới từng ký tự như trong trường hợp các điện cực hoặc máy in.  Các file khối đặc biệt - Dữ liệu được điều khiển trong các khối như trong trường hợp của các đĩa và các băng. Kỹ thuật truy cập file Kỹ thuật truy cập file liên quan đến phương thức mà trong đó các bản ghi của file được truy cập. Có một số cách sau để truy cập vào file:  Truy cập liên tục  Truy cập trực tiếp/ngẫu nhiên  Truy cập liên tục theo chỉ mục Truy cập liên tục Trong sự truy cập này thì các bản ghi được truy cập trong một vài dãy, ví dụ như thông tin trong file được xử lý theo thứ tự, bản ghi này tới bản ghi sau. Phương thức truy cập này là nguyên sơ nhất. Ví dụ: bộ biên dịch thường truy cập vào các file theo cách này. Sự truy cập trực tiếp/ngẫu nhiên  Hoạt động truy cập file ngẫu nhiên cung cấp việc truy cập các bản ghi một cách trực tiếp.  Mỗi bản ghi có địa chỉ riêng của nó trên file, với sự giúp đỡ này nó có thể được truy cập trực tiếp để đọc hoặc viết.  Các bản ghi không cần ở trong một dãy trong file và chúng không cần trong các vị trí lân cận trên kho lưu trung gian. Sự truy cập liên tục theo chỉ mục  Kỹ thuật này được xây dựng trên cơ sở truy cập liên tục.  Một danh mục được tạo ra cho mỗi file mà chứa các điểm con trỏ tới các khối khác nhau. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 76  Chỉ mục được tìm kiếm liên tục và điểm trỏ của nó được sử dụng để truy cập vào file một cách trực tiếp. Sự cấp phát không gian Các file được cấp phát không gian đĩa bởi Hệ điều hành. Các Hệ điều hành triển khai ba cách chính sau để cấp phát không gian đĩa tới các file:  Sự cấp phát liên tục  Sự cấp phát theo kết nối  Sự cấp phát theo chỉ mục Sự cấp phát liên tục  Mỗi file chiếm một không gian địa chỉ liên tục trên đĩa.  Địa chỉ đĩa được chỉ định là theo thứ tự.  Dễ dàng để thực hiện.  Sự phân mảnh ngoại vi là một kết quả chính của kiểu kỹ thuật cấp phát này. Sự cấp phát theo kết nối  Mỗi file mang theo một danh sách các kết nối tới các khối đĩa.  Thư mục chứa điểm trỏ/liên kết tới khối đầu tiên trong một file.  Không có sự phân mảnh ngoại vi.  Được sử dụng một cách hiệu quả trong sự truy cập file liên tục.  Không hiệu quả trong trường hợp truy cập trực tiếp vào file. Sự cấp phát theo chỉ mục  Cung cấp các giải pháp cho các vấn đề của sự cấp phát liên tục và sự cấp phát theo kết nối.  Một khối được lập chỉ mục được tạo mà có tất cả các điểm trỏ tới các file. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 77  Mỗi file có một khối chỉ mục riêng mà giữ các địa chỉ của không gian đĩa được chiếm giữ bởi file.  Thư mục chứa các địa chỉ của các khối chỉ mục của file. Bảo mật trong OS Sự bảo mật liên quan đến việc cung cấp một hệ thống bảo vệ tới các nguồn tài nguyên hệ thống máy tính như CPU, bộ nhớ, đĩa, chương trình phần mềm và hầu hết thông tin/dữ liệu quan trọng được giữ trong hệ thống máy tính. Nếu một chương trình máy tính được chạy bởi người sử dụng không được trao quyền thì khi đó anh ta/cô ta có thể gây ra các sự phá hoại tới máy tính hoặc dữ liệu được lưu trong nó. Vì thế, một hệ thống máy tính phải được bảo vệ chống lại các sự truy cập không được trao quyền, các sự truy cập mang tính bất chính tới bộ nhớ, các virut. Chúng ta sẽ bàn luận các chủ đề sau trong chương này:  Sự xác minh (Authentication)  Các mật khẩu Một lần (One-Time)  Các sự đe dọa tới chương trình  Các sự đe dọa tới hệ thống  Các sự phân hạng bảo vệ máy tính Sự xác minh Sự xác định liên quan tới việc xác nhận mỗi người sử dụng của hệ thống và việc liên kết với việc thực hiện các chương trình với những người sử dụng đó. Nó là trách nhiệm của Hệ điều hành để tạo ra một hệ thống bảo vệ mà đảm bảo rằng một người sử dụng đang chạy một chương trình cụ thể nào đó là đáng tin cậy. Hệ điều hành theo cách chung xác nhận những người sử dụng theo ba cách sau:  Tên sử dụng/mật khẩu - Người sử dụng cần nhập một tên sử dụng và mật khẩu đã đăng ký với Hệ điều hành để đăng nhập vào hệ thống.  Thẻ/key người sử dụng - Người sử dụng cần đút thẻ vào trong khe thẻ hoặc nhập khóa được tạo bởi bộ tạo khóa trong chức năng được cung cấp bởi Hệ điều hành để đăng nhập vào hệ thống. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 78  Dấu hiệu nhận biết/thuộc tính người sử dụng - Người sử dụng cần sử dụng đặc điểm nhận dạng của mình qua thiết bị nhận dạng được sử dụng bởi Hệ điều hành để đăng nhập vào hệ thống. Các mật khẩu Một lần Các mật khẩu Một lần cung cấp sự bảo vệ thêm vào với sự xác nhận thông thường. Trong hệ thống mật khẩu một lần, một mật khẩu duy nhất được yêu cầu mỗi khi người dùng cố gắng đăng nhập vào hệ thống. Một khi một mật khẩu một lần được sử dụng, thì khi đó nó không thể được sử dụng lại. Mật khẩu một lần có thể được thực hiện theo các cách đa dạng sau:  Các số ngẫu nhiên - Các người sử dụng cung cấp các thẻ có các số được in song song với bảng chữ cái tương ứng. Hệ thống yêu cầu các số tương ứng tới một số chữ cái ngẫu nhiên được chọn.  Khóa mật - Người dùng được cung cấp một thiết bị phần cứng mà có thể tạo một ID mật kết nối với id sử dụng. Hệ thống yêu cầu những id mật này mà được tạo ra mỗi khi đăng nhập vào.  Mật khẩu hệ thống - Một vài ứng dụng thương mại gửi mật khẩu một lần tới người sử dụng trên mail/điện thoại đã đăng ký mà được yêu cầu để nhập vào trước khi đăng nhập. Các sự đe dọa tới chương trình Các tiến trình và kernel Hệ điều hành thực hiện các nhiệm vụ nhận dạng như được chỉ dẫn. Nếu một chương trình người dùng tạo các tiến trình mà thực hiện các nhiệm vụ có ác ý thì khi đó nó được biết đến như là các mối đe dọa tới chương trình. Một trong những ví dụ thường thấy của mối đe dọa tới chương trình là một chương trình được cài đặt trong một máy tính mà có thể giữ và gửi ủy nhiệm người dùng thông qua mạng hệ thống tới một số hacker. Dưới đây là danh sách một số các mối đe dọa tới chương trình thường thấy:  Trojan Horse - Những chương trình này bẫy người dùng đăng nhập các ủy nhiệm và giữ chúng để gửi tới một vài người sử dụng ác ý mà có thể sau đó đăng nhập vào máy tính và có thể truy cập vào các nguồn tài nguyên hệ thống.  Trap Door - Nếu một chương trình mà được thiết kế để làm việc theo yêu cầu, có một hố bảo vệ trong mã của nó và thực hiện các hành động không được phép mà người sử dụng không biết thì khi đó nó được gọi là có một cửa bẫy. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 79  Logic Bomb - là một tình huống khi một chương trình cư xử không đúng đắn chỉ khi gặp các điều kiện cụ thể, nếu không nó làm việc như là một chương trình bình thường (đáng tin cậy). Nó là khó hơn để kiểm soát.  Virus - Như tên đã đề cập, nó có thể nhân bản chính nó trên hệ thống máy tính. Chúng rất nguy hiểm và có thể chỉnh sửa/xóa các file, làm hệ thống sụp đổ. Theo cách hiểu chúng thì một virut là một mã nhỏ được nhúng vào trong một chương trình. Khi người dùng truy cập vào chương trình, virut bắt đầu nhúng vào các file/chương trình khác và có thể làm cho hệ thống không dùng được cho người dùng. Các mối đe dọa tới hệ thống Các mỗi đe dọa tới hệ thống liên quan đến sự dùng sai (lạm dụng) các dịch vụ hệ thống và các kết nối mạng hệ thống để đặt người sử dụng vào trong tình trạng rắc rối. Các mối đe dọa này có thể được sử dụng để khởi động các mối đe dọa tới chương trình trên toàn mạng hệ thống được gọi như là sự công kích chương trình. Các mối đe dọa hệ thống tạo ra một môi trường mà nguồn tài nguyên/các file người dùng Hệ điều hành bị lạm dụng. Dưới đây là danh sách của các mối đe dọa hệ thống.  Worm -là một tiến trình mà có thể giảm hiệu suất hệ thống bởi việc sử dụng nguồn tài nguyên tới mức độ cao nhất. Một tiến trình worm tạo các bản sao mà mỗi bản sử dụng nguồn tài nguyên hệ thống, ngăn cản tất cả các tiến trình khác để nhận các nguồn tài nguyên theo yêu cầu. Các tiến trình worm có thể vẫn tắt toàn bộ hệ thống.  Port Scanning - là một kỹ thuật hoặc hiểu theo nghĩa mà một hacker có thể thăm dò các tính chất có thể tấn công của hệ thống để tạo một sự tấn công trên hệ thống.  Sự từ chối phục vụ (Denial of Service) - thông thường tấn công để ngăn cản người dùng để thực hiện những sự sử dụng hợp pháp của hệ thống. Ví dụ, người dùng không thể sử dụng internet nếu sự từ chối phục vụ tấn công các thiết lập nội dung của trình duyệt. Các phân hạng bảo vệ máy tính Có 4 phân hạng bảo vệ máy tính là A, B, C, và D. Nó được sử dụng rộng rãi để xác định sự bảo vệ hệ thống và các giải pháp bảo mật. Dưới đây là các miêu tả ngắn gọn về mỗi phân hạng. STT Hạng Miêu tả Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 80 1 Hạng A Mức độ cao nhất. Sử dụng các thiết kế chi tiết kỹ thuật và sự xác minh chính thức. Ban cho một mức độ cao của việc bảo vệ tiến trình. 2 Hạng B Cung cấp hệ thống bảo vệ mang tính bắt buộc. Có tất cả các thuộc tính của hệ thống hạng C2. Đính kèm một nhãn nhạy cảm cho mỗi đối tượng. Nó có 3 kiểu:  B1 - Duy trì nhãn bảo mật của mỗi đối tượng trong hệ thống. Nhãn được sử dụng để tạo các quyết định để điều khiển sự truy cập.  B2 - Mở rộng các nhãn nhạy cảm tới mỗi nguồn tài nguyên hệ thống, như các đối tượng kho lưu, kiểm tra các sự kiện.  B3 - Cho phép tạo các danh sách hoặc nhóm người sử dụng để điều khiển sự truy cập tới việc cấp cho hoặc hủy bỏ sự truy cập tới một đối tượng được đặt tên đã cho. 3 Hạng C Cung cấp sự bảo vệ và tính khả tính người dùng sử dụng các khả năng kiểm tra. Nó có hai kiểu:  C1 - Các điều khiển kết hợp chặt chẽ để mà những người sử dụng có thể bảo vệ thông tin tư nhân của họ và tránh những người sử dụng khác tình cờ đọc/xóa dữ liệu của họ. Các phiên bản Unix hầu hết là ở hạng này.  C2 - Thêm các điều khiển truy cập đơn mức độ tới khả năng của một hệ thống mức độ C1. 4 Hạng D Mức độ thấp nhất. Sự bảo vệ là nhỏ nhất. MS-DOS, Window 3.1 ở trong mức độ này. Hệ điều hành Linux Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 81 Linux là một phiên bản phổ biến của Hệ điều hành UNIX. Nó là nguồn mở khi mà các mã nguồn của nó là có sẵn miến phí trên mạng. Nó là miễn phí để sử dụng. Linux được thiết kế để tương hợp với UNIX. Các tính năng của nó khá tương tự như của UNIX. Các thành phần của hệ thống Linux Hệ điều hành Linux đầu tiên có 3 thành phần:  Kernel - Là phần lõi của Linux. Nó có trách nhiệm cho tất cả các hoạt động của Hệ điều hành. Nó bao gồm các modun đa dạng và nó tương tác trực tiếp với phần cứng nằm bên dưới. Kernel cung cấp trạng thái cần thiết để che giấu các chi tiết phần cứng cấp thấp tới hệ thống hoặc các chương trình ứng dụng.  Thư viện hệ thống - Là các chức năng đặc biệt hoặc chương trình sử dụng mà các chương trình ứng dụng hoặc các tiện ích hệ thống truy cập các tính năng của Kernel. Những thư viện này thực hiện hầu hết các chức năng của Hệ điều hành và không yêu cầu các quyền truy cập mã của modun hạt nhân.  Tiện ích hệ thống - Các chương trình tiện ích hệ thống có trách nhiệm để thực hiện các nhiệm vụ mức độ đơn đặc biệt. Chế độ kernel và chế độ người dùng Mã thành phần kernel thực hiện trong một chế độ đặc quyền đặc biệt được gọi là chế độ kernel với quyền truy cập đầy đủ tới tất cả các nguồn tài nguyên của máy tính. Mã này đại diện cho một tiến Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 82 trình đơn, chạy trong một không gian địa chỉ đơn, và không yêu cầu bất cứ sự chuyển bối cảnh nào và do đó nó rất hiệu quả và nhanh. Kernel chạy mỗi tiến trình và cung cấp các dịch vụ hệ thống tới các tiến trình, cung cấp sự truy cập được bảo vệ tới các phần cứng cho các tiến trình. Mã hỗ trợ mà không được yêu cầu để chạy trong chế độ Kernel là trong thư viện hệ thống. Chương trình người sử dụng và chương trình hệ thống khác làm việc trong chế độ người sử dụng mà không truy cập tới các phần cứng hệ thống và chế độ Kernel. Các chương trình/tiện ích người dùng sử dụng các thư viện hệ thống để truy cập các chức năng kernel để nhận các nhiệm vụ cấp thấp của hệ thống. Các đặc điểm cơ bản Dưới đây là một số đặc điểm cơ bản của Hệ điều hành Linux:  Tính động - Nghĩa là các phần mềm có thể làm việc trên các kiểu khác nhau của phần cứng theo cách giống nhau. Kernel và các chương trình ứng dụng hỗ trợ sự cài đặt của nó trên bất kỳ nền cứng nào.  Nguồn mở - Mã nguồn Linux là có sẵn miễn phies và nó là sở hữu chung dựa trên dự án phát triển. Nhiều team làm việc trong sự cộng tác để tăng hiệu suất của Hệ điều hành Linux và nó tiếp tục tiến triển.  Đa người dùng - Linux là một hệ thống đa người dùng nghĩa là nhiều người sử dụng có thể truy cập vào các nguồn tài nguyên hệ thống như bộ nhớ/ram/các chương trình ứng dụng tại cùng một thời gian.  Đa chương trình - Linux là một hệ thống đa chương trình nghĩa là nhiều ứng dụng có thể chạy tại cùng một thời gian.  Hệ thống file có thứ bậc - Linux cung cấp một cấu trúc file tiêu chuẩn trong đó các file hệ thống/các file người dùng được sắp xếp.  Shell - Linux cung cấp một chương trình biên dịch đặc biệt mà có thể được sử dụng để thực hiện các lệnh của Hệ điều hành. Nó có thể được sử dụng để thực hiện các kiểu đa dạng của các hoạt động, gọi các chương trình ứng dụng.  Bảo mật - Linux cung cấp sự bảo vệ sử dụng các tính năng xác nhận như mật khẩu bảo vệ/sự truy cập được kiểm soát tới các file đặc trưng. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 83 Cấu trúc Cấu trúc hệ thống Linux bao gồm các lớp sau:  Lớp phần cứng - Bao gồm tất cả các thiết bị ngoại vi (RAM/HDD/CPU).  Kernel - Thành phần lõi của Hệ điều hành, tương tác trưc tiếp với phần cứng, cung cấp các dịch vụ cấp thấp tới các thành phần lớp trên.  Shell - Một giao diện tới kernel, ẩn giấu sự phức tạp của các chức năng của Kernel tới người sử dụng. Nhận các lệnh từ người sử dụng và thực hiện các tính năng của Kernel.  Các tiện ích - Các chương trình tiện ích cung cấp cho người sử dụng hầu hết các tính năng của Hệ điều hành. Tài liệu tham khảo về OS Các nguồn sau chứa thông tin hữu ích về Hệ điều hành - Operating System. Mong bạn tham khảo chúng để hiểu sâu hơn những gì chúng tôi đã đề cập trong loạt bài này. Copyright © vietjack.com Trang chia sẻ các bài học online miễn phí Trang 84 Các đường link hữu ích về Hệ điều hành  Tutorialspoint − Loạt bài hướng dẫn của chúng tôi xây dựng dựa trên nguồn này.  Operating system − Một wikipage cung cấp miêu tả ngắn gọn về Hệ điều hành.  What is an Operating System − Hệ điều hành là phần mềm quan trọng nhất chạy trên máy tính.  Computer Basics by BBC − Giới thiệu về máy tính bao gồm các phần trong máy tính và bảo mật.  Some Basic Terminology − Các phần trong máy tính được giải thích đơn giản và dễ hiểu.  Basic Computer Literacy Information − Một phân tích nhanh về Basic Computer Literacy Information.

Các file đính kèm theo tài liệu này:

  • pdftai_lieu_he_dieu_hanh_tieng_viet_9338.pdf