Hỏi Đáp

✅Hệ điều hành là gì ? Các loại hệ điều hành và thành phần của nó

Hệ điều hành đơn nhiệm là gì

Video Hệ điều hành đơn nhiệm là gì

Các loại hệ điều hành

Hệ điều hành là gì?

hệ điều hành là một hệ điều hành (os) trong tiếng Anh, là phần mềm hệ thống quản lý phần cứng máy tính, tài nguyên hệ thống và cung cấp các dịch vụ chung cho các ứng dụng .

Tại sao bạn cần một hệ điều hành?

Hệ điều hành thực hiện nhiệm vụ chia sẻ tài nguyên hệ thống để sử dụng và phân bổ hiệu quả các tài nguyên của bộ xử lý, lưu trữ hàng loạt, in ấn và các tài nguyên khác.

Cái gì điều khiển máy tính?

Đối với phần cứng như I / O, cấp phát bộ nhớ, v.v., Hệ điều hành đóng vai trò trung gian giữa chương trình và phần cứng máy tính , mặc dù mã nguồn của ứng dụng thường được thực thi trực tiếp bởi phần cứng, hệ điều hành chịu trách nhiệm Điều phối và phân bổ tài nguyên phần cứng. Hệ điều hành được tìm thấy trên nhiều thiết bị, không chỉ máy tính, từ điện thoại di động và bảng điều khiển trò chơi điện tử đến máy chủ web và siêu máy tính.

Hệ điều hành máy tính để bàn và máy tính xách tay (máy tính cá nhân – pc) chiếm ưu thế là microsoft windows với thị phần khoảng 82,74%. Hệ điều hành macOS của Apple đứng thứ hai (13,23%) và loạt hệ điều hành linux đứng thứ ba (1,57%).

Trong không gian di động (bao gồm cả điện thoại thông minh và máy tính bảng), google android chiếm 70% thị phần vào năm 2017. Theo dữ liệu từ quý 3 năm 2018, thị phần của Android trên thiết bị di động thông minh chiếm ưu thế 87,5% và tăng 10,3% mỗi năm, tiếp theo là ios của Apple, tăng 12,1%, nhưng thị phần có xu hướng giảm 5,2%. mỗi năm, trong khi các hoạt động khác của Hệ thống chỉ là 0,3%.

Họ hệ điều hành linux thống trị thế giới máy chủ và siêu máy tính, nhưng các nhánh chuyên biệt khác của hệ điều hành, chẳng hạn như hệ thống nhúng và thực thi thời gian thực, cũng được sử dụng trong nhiều ứng dụng.

Phân loại hệ điều hành

Tác vụ đơn và đa tác vụ

Một hệ điều hành chỉ có thể chạy một chương trình tại một thời điểm trong khi hệ điều hành đa nhiệm cho phép nhiều chương trình chạy đồng thời. Điều này được thực hiện bởi hệ điều hành thông qua chia sẻ thời gian, trong đó thời gian sử dụng bộ xử lý được chia cho nhiều luồng.

Các luồng này được xen kẽ và được quản lý bởi hệ thống con chịu trách nhiệm lập lịch tác vụ của hệ điều hành. Trong đa nhiệm phủ đầu, hệ điều hành chia thời gian sử dụng CPU và dành một khoảng thời gian nhất định cho mỗi chương trình.

Các hệ điều hành giống Unix, chẳng hạn như solaris và linux, amigaos hỗ trợ đa nhiệm phủ đầu. Trong đa nhiệm hợp tác, CPU được chia thành các luồng và thời gian sử dụng được phân bổ giữa các luồng. Phiên bản 16-bit của Microsoft Windows sử dụng đa nhiệm hợp tác. Cả phiên bản 32-bit của windows nt và win9x đều sử dụng tính năng đa nhiệm ưu tiên.

Một người dùng và nhiều người dùng

Hệ điều hành một người dùng không có khả năng phân biệt người dùng dựa trên việc sử dụng tài nguyên phần cứng (định nghĩa này khác với nhiều lần đăng nhập trên một máy), nhưng có thể cho phép nhiều chương trình chạy song song .

Hệ điều hành nhiều người dùng mở rộng khái niệm cơ bản về đa nhiệm bằng cách xác định các quy trình và tài nguyên (chẳng hạn như dung lượng đĩa) cho hệ thống nhiều người dùng và hệ thống cho phép nhiều người dùng tương tác với hệ thống tại đồng thời (ví dụ: nhiều người dùng trên cùng một mạng cục bộ chia sẻ cùng một đĩa cứng và hệ điều hành).

Hệ điều hành phân tán là gì?

Hệ điều hành phân tán Cloud computing

Hệ điều hành phân tán quản lý một nhóm máy tính độc lập và kết hợp chúng thành một máy tính duy nhất. Sự phát triển của các máy tính nối mạng có thể kết nối và giao tiếp với nhau đã tạo ra điện toán phân tán (điện toán đám mây). Tính toán phân tán được thực hiện trên nhiều máy. Khi một nhóm máy tính hợp tác để giải quyết một vấn đề, chúng tạo thành một hệ thống phân tán.

Tạo khuôn

Trong môi trường hệ điều hành, điện toán phân tán và điện toán đám mây, tạo khuôn mẫu đề cập đến một công cụ tạo một hình ảnh máy ảo duy nhất làm hệ điều hành khách và sau đó lưu nó để chạy dưới dạng nhiều máy ảo. Kỹ thuật này được sử dụng để ảo hóa, quản lý đám mây và phổ biến trong các trung tâm máy chủ lớn.

Hệ thống nhúng là gì?

Hệ điều hành nhúng được thiết kế để sử dụng trong các hệ thống máy tính nhúng. Chúng được thiết kế để hoạt động trên các máy nhỏ như pdas với ít tài nguyên hơn . Nó có thể sử dụng tài nguyên hạn chế. Thiết kế của chúng rất nhỏ gọn và rất hiệu quả. windows ce và minix 3 là một số ví dụ về hệ điều hành nhúng.

Thành phần hệ điều hành

Các tác vụ chính của hệ điều hành

Các thành phần của hệ điều hành

Các thành phần của hệ điều hành kiểm soát cách phần cứng máy tính hoạt động cùng nhau. Tất cả phần mềm người dùng cần phải thông qua hệ điều hành để sử dụng bất kỳ phần cứng nào, có thể là chuột hoặc bàn phím đơn giản, hoặc Internet phức tạp.

Nhân hệ điều hành là gì?

Lõi Kernel hệ điều hành là gì ?

Lõi hệ điều hành kết nối phần mềm ứng dụng với phần cứng của máy tính.

Với sự trợ giúp của phần mềm trình điều khiển và trình điều khiển thiết bị, hạt nhân (kernel) cung cấp khả năng kiểm soát cơ bản nhất đối với tất cả các thiết bị phần cứng của máy tính. Nó quản lý quyền truy cập bộ nhớ cho các chương trình trên ram, nó xác định chương trình nào có thể truy cập tài nguyên phần cứng nào, nó thiết lập hoặc đặt lại trạng thái chạy của cpu để luôn hoạt động tốt nhất và tổ chức dữ liệu để lưu trữ các tệp trên đĩa, băng, flash, v.v. . bộ nhớ trên phương tiện, v.v.

Thực thi chương trình

Hệ điều hành cung cấp giao diện giữa chương trình ứng dụng và phần cứng máy tính, do đó chương trình ứng dụng chỉ có thể tương tác với phần cứng theo các quy tắc lập trình của hệ điều hành và chương trình. củ hành.

Hệ điều hành cũng là một tập hợp các dịch vụ giúp đơn giản hóa việc phát triển và thực thi ứng dụng. Việc thực thi một ứng dụng liên quan đến việc phân bổ không gian bộ nhớ và các tài nguyên khác bằng cách tạo một quy trình thông qua nhân hệ điều hành, đặt mức độ ưu tiên của chương trình trong hệ thống đa nhiệm, tải chương trình nhị phân vào bộ nhớ và bắt đầu thực thi ứng dụng, sau đó tương tác với người dùng và phần cứng các thiết bị.

Hệ điều hành ngắt là gì?

Ngắt là trung tâm của hệ điều hành và chúng cung cấp một cách hiệu quả để hệ điều hành tương tác và phản hồi với môi trường. (Thay thế – Hệ điều hành “coi” các nguồn đầu vào khác nhau là các sự kiện yêu cầu hành động – có thể được tìm thấy trong các hệ thống cũ hơn với ngăn xếp 50 hoặc 60 byte rất nhỏ, nhưng không phổ biến trong các hệ thống hiện đại có ngăn xếp lớn).

Lập trình dựa trên ngắt được hỗ trợ trực tiếp trên hầu hết các CPU hiện đại. Ngắt cung cấp một cách để máy tính tự động lưu ngữ cảnh đăng ký cục bộ và chạy mã cụ thể để đáp ứng các sự kiện. Ngay cả những máy tính rất cơ bản cũng hỗ trợ ngắt phần cứng và cho phép lập trình viên chỉ định mã có thể chạy khi sự kiện đó xảy ra.

Khi nhận được ngắt, phần cứng máy tính sẽ tự động tạm dừng bất kỳ chương trình nào đang chạy, lưu trạng thái của chương trình đó và chạy mã máy tính trước đó được liên kết với ngắt; điều này tương tự như đặt dấu trang trong sách để phản hồi cuộc gọi điện thoại. Trong các hệ điều hành hiện đại, các ngắt được xử lý bởi nhân của hệ điều hành. Ngắt có thể đến từ phần cứng của máy tính hoặc một chương trình đang chạy.

Khi một thiết bị phần cứng kích hoạt ngắt, hạt nhân hệ điều hành sẽ quyết định cách xử lý sự kiện, thường bằng cách chạy một số mã trình xử lý. Số lượng mã chạy phụ thuộc vào mức độ ưu tiên của ngắt (ví dụ, một người thường phản ứng với cảnh báo phát hiện khói trước khi trả lời điện thoại).

Xử lý ngắt phần cứng là nhiệm vụ thường được giao cho trình điều khiển thiết bị, có thể là một phần của nhân hệ điều hành, một phần của chương trình khác hoặc cả hai. Sau đó, trình điều khiển thiết bị có thể chuyển tiếp thông tin đến chương trình đang chạy theo một số cách.

Các chương trình cũng có thể kích hoạt ngắt hệ điều hành. Ví dụ, nếu một chương trình muốn truy cập phần cứng, nó có thể làm gián đoạn nhân của hệ điều hành, từ đó chuyển quyền điều khiển trở lại nhân. Sau đó, hạt nhân sẽ xử lý yêu cầu. Nếu một chương trình muốn nhiều tài nguyên hơn (hoặc muốn loại bỏ chúng) như bộ nhớ, nó sẽ kích hoạt ngắt để thông báo cho hạt nhân.

Chế độ hệ điều hành

Các cài đặt đặc quyền cho kiến ​​trúc bộ vi xử lý x86 có sẵn ở chế độ được bảo vệ. Hệ điều hành quyết định các tiến trình chạy ở mỗi chế độ.

Bộ xử lý hiện đại (cpu hoặc mpu) hỗ trợ nhiều chế độ hoạt động. Cpu có thể cung cấp ít nhất hai chế độ: chế độ người dùng và chế độ quản trị viên. Khi chạy ở chế độ quản trị viên, cho phép truy cập không hạn chế vào tất cả tài nguyên máy, bao gồm tất cả các hướng dẫn mpu.

Hoạt động ở chế độ người dùng hạn chế việc sử dụng các lệnh và thường không cho phép truy cập trực tiếp vào tài nguyên máy. CPU cũng có thể có các chế độ giống như chế độ người dùng khác, chẳng hạn như chế độ ảo, để mô phỏng các loại bộ xử lý cũ hơn, chẳng hạn như bộ xử lý 16 bit trên bộ xử lý 32 bit hoặc bộ xử lý 32 bit trên bộ xử lý 64 bit.

Khi bật nguồn hoặc đặt lại, hệ thống sẽ khởi động ở chế độ giám sát. Khi hạt nhân hệ điều hành được tải và khởi động, ranh giới giữa chế độ người dùng và chế độ giám sát (còn được gọi là chế độ hạt nhân) có thể được thiết lập.

Hạt nhân sử dụng chế độ giám sát cho các tác vụ cấp thấp yêu cầu quyền truy cập không hạn chế vào phần cứng, chẳng hạn như kiểm soát cách bộ nhớ được truy cập và giao tiếp với các thiết bị như ổ đĩa và thiết bị. Hiển thị video.

Ngược lại, chế độ người dùng được sử dụng cho hầu hết mọi thứ khác. Các ứng dụng, chẳng hạn như bộ xử lý văn bản và trình quản lý cơ sở dữ liệu, chạy ở chế độ người dùng và chỉ có thể truy cập tài nguyên máy bằng cách chuyển quyền điều khiển cho hạt nhân, một quá trình gây ra chuyển đổi sang chế độ giám sát.

Thông thường, quyền điều khiển được chuyển tới hạt nhân bằng cách thực hiện một ngắt. Một ngắt phần mềm khiến bộ xử lý chuyển sang chế độ giám sát từ chế độ người dùng và bắt đầu thực thi mã, để hạt nhân kiểm soát.

Ở chế độ người dùng, các chương trình thường có quyền truy cập vào một nhóm hướng dẫn bộ vi xử lý bị hạn chế và thường không thể thực hiện bất kỳ hướng dẫn nào có thể làm gián đoạn hoạt động của hệ thống. hệ thống. Trong chế độ giám sát, các hạn chế thực thi lệnh thường được loại bỏ, cho phép truy cập không hạn chế vào tất cả các tài nguyên máy.

Thuật ngữ “tài nguyên chế độ người dùng” thường đề cập đến một hoặc nhiều thanh ghi cpu chứa thông tin không được thay đổi bởi một chương trình đang chạy. Các nỗ lực thay đổi các tài nguyên này thường dẫn đến chuyển đổi sang chế độ xem, trong đó hệ điều hành có thể xử lý hoạt động bất hợp pháp mà chương trình đang cố gắng, chẳng hạn bằng cách buộc phải chấm dứt (“giết”) chương trình.

Quản lý bộ nhớ

Xem Thêm : Lòng hiếu thảo là gì? – Luật Hoàng Phi

Hạt nhân của hệ điều hành đa nhiệm chịu trách nhiệm quản lý bộ nhớ hệ thống được sử dụng bởi các chương trình. Điều này đảm bảo rằng một chương trình không can thiệp vào bộ nhớ đã được chương trình khác sử dụng. Mỗi chương trình phải có khả năng truy cập độc lập vào bộ nhớ được cấp phát của nó.

Quản lý bộ nhớ hợp tác được nhiều hệ điều hành ban đầu sử dụng giả định rằng tất cả các chương trình đều tự nguyện sử dụng trình quản lý bộ nhớ của nhân hệ điều hành và không vượt quá khả năng ghi nhớ các cấp phát của chúng.

Hệ thống quản lý bộ nhớ này hầu như không được sử dụng nữa, vì các chương trình thường chứa các lỗi có thể khiến chúng vượt quá bộ nhớ được cấp phát. Nếu một chương trình bị treo, nó có thể khiến bộ nhớ được sử dụng bởi một hoặc nhiều chương trình khác bị ảnh hưởng hoặc bị ghi đè.

Các chương trình hoặc vi rút độc hại có thể cố ý thay đổi bộ nhớ của các chương trình khác hoặc có thể ảnh hưởng đến hoạt động của chính hệ điều hành. Với quản lý bộ nhớ hợp tác, chỉ cần một chương trình hoạt động sai là đủ để làm hỏng toàn bộ hệ thống.

Bảo vệ bộ nhớ cho phép nhân hệ điều hành hạn chế quyền truy cập vào bộ nhớ máy tính. Có nhiều phương pháp bảo vệ bộ nhớ, bao gồm phân đoạn bộ nhớ và phân trang. Tất cả các phương pháp đều yêu cầu một số mức hỗ trợ phần cứng, điều này không giống nhau ở tất cả các máy tính.

Trong phân đoạn và phân trang, một số thanh ghi ở chế độ bảo vệ chỉ định cho cpu các địa chỉ bộ nhớ mà chương trình đang chạy được phép truy cập. Nỗ lực truy cập các địa chỉ khác sẽ kích hoạt ngắt, khiến cpu vào lại chế độ siêu người dùng, chuyển quyền điều khiển trở lại hạt nhân.

<3 sử dụng để chấm dứt chương trình vi phạm và báo cáo lỗi.

windows 3.1 có một số mức độ bảo vệ bộ nhớ đối với tôi, nhưng các chương trình có thể dễ dàng tránh được điều đó. Một lỗi bảo vệ chung sẽ được tạo ra, cho thấy vi phạm bộ nhớ; tuy nhiên, hệ thống thường bị treo

Bộ nhớ ảo là gì?

Bộ nhớ ảo là gì ?

Bộ nhớ ảo

Nhiều hệ điều hành có thể “lừa” các chương trình sử dụng bộ nhớ nằm rải rác trên đĩa cứng và RAM như thể nó là một bộ nhớ liên tục, được gọi là bộ nhớ ảo.

Việc sử dụng địa chỉ bộ nhớ ảo (như phân trang hoặc phân đoạn) có nghĩa là hạt nhân có thể chọn dung lượng bộ nhớ mà mỗi chương trình có thể sử dụng tại bất kỳ thời điểm nào, cho phép hệ điều hành sử dụng cùng một vị trí bộ nhớ cho nhiều tác vụ.

Nếu một chương trình cố gắng truy cập bộ nhớ không nằm trong phạm vi bộ nhớ hiện có thể truy cập của nó, hạt nhân sẽ bị gián đoạn như thể chương trình vượt quá bộ nhớ được cấp phát. Trong unix, kiểu ngắt này được gọi là lỗi trang.

Khi hạt nhân phát hiện lỗi trang, nó thường điều chỉnh phạm vi bộ nhớ ảo của chương trình đã kích hoạt, cấp cho nó quyền truy cập vào bộ nhớ được yêu cầu. Điều này cho phép hạt nhân chọn nơi bộ nhớ cho một ứng dụng cụ thể được lưu trữ hoặc thậm chí liệu nó có thực sự được cấp phát hay không.

Trong các hệ điều hành hiện đại, bộ nhớ được truy cập ít thường xuyên hơn có thể được lưu trữ tạm thời trên đĩa hoặc phương tiện khác để cung cấp dung lượng cho các chương trình khác sử dụng. Điều này được gọi là hoán đổi vì một vùng bộ nhớ có thể được sử dụng bởi nhiều chương trình và nội dung của vùng đó có thể được hoán đổi hoặc hoán đổi theo yêu cầu.

“Bộ nhớ ảo” cung cấp cho lập trình viên hoặc người dùng mô phỏng nhiều bộ nhớ hơn trong máy tính so với thực tế.

Hệ điều hành đa nhiệm là gì?

Đa nhiệm đề cập đến việc chạy nhiều chương trình máy tính độc lập trên cùng một máy tính; nó thực hiện nhiều tác vụ đồng thời. Vì hầu hết các máy tính có thể làm một hoặc nhiều việc cùng một lúc, điều này thường được thực hiện thông qua chia sẻ thời gian, có nghĩa là mỗi chương trình sử dụng một phần thời gian của máy tính để làm việc đó. tham gia một kỳ thi.

Hạt nhân hệ điều hành chứa một bộ lập lịch xác định thời gian mỗi quá trình diễn ra và vị trí để chuyển quyền kiểm soát thực thi cho chương trình. Quyền kiểm soát được chuyển cho hạt nhân, cho phép các chương trình truy cập vào cpu và bộ nhớ. Quyền điều khiển sau đó được trả lại cho hạt nhân thông qua một số cơ chế để cho phép các chương trình khác sử dụng cpu. Cái gọi là chuyển giao quyền kiểm soát giữa hạt nhân và ứng dụng được gọi là chuyển đổi ngữ cảnh.

Cơ chế ban đầu để kiểm soát phân phối thời gian chương trình được gọi là đa nhiệm hợp tác. Theo cơ chế này, khi hạt nhân chuyển quyền điều khiển cho một chương trình, nó có thể thực thi trong một thời gian dài tùy ý trước khi trả lại quyền điều khiển cho hạt nhân. Điều này có nghĩa là một chương trình độc hại hoặc bị trục trặc có thể ngăn bất kỳ chương trình nào khác sử dụng cpu và nếu nó chạy trong một vòng lặp vô hạn, nó có thể làm hỏng toàn bộ hệ thống.

Hệ điều hành hiện đại mở rộng khái niệm ưu tiên ứng dụng cho trình điều khiển thiết bị và hạt nhân, do đó hệ điều hành cũng có quyền kiểm soát ưu tiên trong thời gian chạy.

Đa nhiệm ưu tiên là để đảm bảo rằng tất cả các chương trình đều có một lượng thời gian cpu cố định. Vì vậy tất cả các chương trình đang chạy phải được giới hạn trong một khung thời gian cho phép chúng sử dụng cpu không bị gián đoạn. Để làm điều này, nhân hệ điều hành sử dụng ngắt bộ định thời. Một bộ đếm thời gian do hạt nhân quản lý sẽ kích hoạt quay lại chế độ giám sát sau khi thời gian được chỉ định trôi qua. (Xem phần về sự gián đoạn ở trên.)

Đa nhiệm hợp tác có thể thích hợp trên một số hệ điều hành dành cho một người dùng, vì máy tính cá nhân thường chạy một số lượng nhỏ các chương trình đã được kiểm tra tốt. Windows NT là phiên bản đầu tiên của Microsoft Windows triển khai tính năng đa nhiệm ưu tiên, nhưng không đánh vào thị trường người dùng phổ thông cho đến khi Windows XP được phát hành (Windows NT dành cho các chuyên gia).

Truy cập đĩa cứng và hệ thống tệp (định dạng đĩa cứng)

Hệ thống tệp cho phép người dùng và chương trình sắp xếp tệp trên máy tính thông qua việc sử dụng các thư mục.

ổ cứng và hệ thống tập tin

hệ thống tập tin

Truy cập dữ liệu được lưu trữ trên ổ cứng là tính năng lõi của tất cả các hệ điều hành. Máy tính lưu trữ dữ liệu trên các đĩa bằng các tệp được cấu trúc theo các cách cụ thể để cho phép truy cập nhanh hơn, độ tin cậy cao hơn và để sử dụng tốt hơn không gian có sẵn của ổ cứng.

Cụ thể, vị trí trên ổ cứng nơi lưu trữ tệp được gọi là hệ thống tệp và cho phép tệp có tên và thuộc tính. Nó cũng cho phép chúng được lưu trữ trong một hệ thống phân cấp các thư mục hoặc trong các thư mục được tổ chức theo cây thư mục.

Các hệ điều hành ban đầu thường chỉ hỗ trợ một loại đĩa cứng và một loại hệ thống tệp. Các hệ thống tệp ban đầu bị giới hạn về dung lượng, tốc độ và các loại tên tệp và cấu trúc thư mục mà chúng có thể sử dụng. Những hạn chế này thường hạn chế hệ điều hành, gây khó khăn cho việc hỗ trợ nhiều hệ thống tệp.

Trong khi nhiều hệ điều hành đơn giản hơn hỗ trợ nhiều tùy chọn để truy cập hệ thống lưu trữ, các hệ điều hành như unix và linux hỗ trợ công nghệ được gọi là hệ thống tệp ảo hoặc vfs.

Các hệ điều hành như unix hỗ trợ nhiều loại thiết bị lưu trữ, bất kể thiết kế hay hệ thống tệp của chúng, cho phép chúng được truy cập thông qua giao diện lập trình ứng dụng chung (api). Điều này làm cho các chương trình không cần biết hệ thống tệp của thiết bị mà chúng đang truy cập.

vfs cho phép hệ điều hành sử dụng trình điều khiển thiết bị và trình điều khiển để cung cấp cho các chương trình quyền truy cập vào số lượng thiết bị không giới hạn với một số lượng lớn hệ thống tệp được gắn trên chúng. Kiểm soát hệ thống tệp.

Một thiết bị lưu trữ được kết nối, chẳng hạn như ổ cứng, được truy cập thông qua trình điều khiển thiết bị. Trình điều khiển thiết bị hiểu ngôn ngữ của ổ đĩa và có thể dịch nó sang ngôn ngữ tiêu chuẩn mà hệ điều hành sử dụng để truy cập tất cả các ổ đĩa.

Khi hạt nhân có trình điều khiển thiết bị phù hợp, nó có thể truy cập nội dung ổ đĩa ở định dạng thô, có thể chứa một hoặc nhiều hệ thống tệp. Trình điều khiển hệ thống tệp được sử dụng để dịch các lệnh truy cập một hệ thống tệp cụ thể thành một tập hợp lệnh tiêu chuẩn mà hệ điều hành có thể sử dụng để thao tác với tất cả các hệ thống tệp.

Sau đó, chương trình có thể xử lý các hệ thống tệp này dựa trên tên tệp và thư mục / thư mục có trong hệ thống phân cấp. Nó có thể tạo, xóa, mở và đóng các tệp cũng như thu thập nhiều thông tin khác nhau về chúng, bao gồm quyền truy cập, kích thước, dung lượng trống, ngày tạo và sửa đổi.

Sự khác biệt giữa các hệ thống tệp gây khó khăn cho việc hỗ trợ tất cả các hệ thống tệp. Các ký tự được phép trong tên tệp và sự tồn tại của các loại thuộc tính tệp khác nhau khiến việc triển khai một giao diện duy nhất cho mỗi hệ thống tệp trở thành một nhiệm vụ khó khăn.

Các hệ điều hành có xu hướng đề xuất các hệ thống tệp được thiết kế riêng cho chúng; ví dụ ntfs trong windows và ext3 và reiserfs trong linux. Tuy nhiên, trên thực tế, trình điều khiển của bên thứ 3 thường có sẵn để hỗ trợ các hệ thống tệp được sử dụng rộng rãi nhất trong hầu hết các hệ điều hành (ví dụ ntfs có sẵn trong linux thông qua ntfs-3g và ext2 / 3 và trong windows thông qua phần mềm bên thứ 3 có sẵn reiserfs).

Trong Windows, mỗi hệ thống tệp thường bị hạn chế đối với một số phương tiện nhất định trong các ứng dụng; ví dụ: cds phải sử dụng iso 9660 hoặc udf và vì windows vista, ntfs là hệ thống tệp duy nhất có thể gắn hệ điều hành.

Linux có thể được cài đặt trên các hệ thống tệp khác nhau. Không giống như các hệ điều hành khác, linux và unix cho phép gắn bất kỳ hệ thống tệp nào, bất kể phương tiện lưu trữ, có thể là ổ cứng, đĩa (cd, dvd …), ổ USB flash hoặc nếu nó được chứa trên hệ thống tệp khác p>

Trình điều khiển thiết bị là gì?

Vai trò của hệ thống điều khiển

Trình điều khiển thiết bị là phần mềm được phát triển để cho phép tương tác với các thiết bị phần cứng. Điều này thường tạo thành một giao diện để giao tiếp với các thiết bị phần cứng, thông qua một bus máy tính hoặc một hệ thống truyền thông cụ thể mà phần cứng được kết nối, cung cấp giao diện cần thiết cho hệ thống, hệ thống hoặc ứng dụng để chạy.

Một chương trình máy tính dành cho phần cứng và hệ điều hành cụ thể cho phép các ứng dụng chạy trong nhân hệ điều hành tương tác với các thiết bị phần cứng.

Mục tiêu thiết kế chính của trình điều khiển thiết bị là thay đổi giữa các thiết bị phần cứng (ngay cả trong cùng một loại thiết bị). Các thiết kế phần cứng mới hơn do các nhà sản xuất phát hành cung cấp hiệu suất đáng tin cậy hơn hoặc tốt hơn, nhưng những thiết kế mới hơn này thường giao tiếp khác với thế hệ trước.

Hệ điều hành không thể biết cách kiểm soát mọi thiết bị hiện tại và trong tương lai. Để giải quyết vấn đề này, hệ điều hành về cơ bản tạo ra các cơ chế để kiểm soát và xác định bất kỳ loại thiết bị nào. Sau đó, vai trò của trình điều khiển thiết bị là chuyển đổi các hoạt động của hệ điều hành này thành các hoạt động dành riêng cho thiết bị phần cứng.

Về lý thuyết, các thiết bị mới được điều khiển theo cách mới sẽ hoạt động tốt với trình điều khiển phù hợp. Trình điều khiển mới này đảm bảo rằng thiết bị hoạt động theo yêu cầu của hệ điều hành.

Trong các phiên bản windows trước vista và các phiên bản linux trước 2.6, việc thực thi tất cả các trình điều khiển đều hợp tác, tức là nếu trình điều khiển đi vào một vòng lặp vô hạn, hệ thống sẽ đóng băng.

Các phiên bản hệ điều hành mới hơn bao gồm mức độ ưu tiên của hạt nhân (tương tự như cách hệ điều hành phân bổ thời gian cpu cho các chương trình), trong đó hạt nhân tự tách mình khỏi trình điều khiển để thực hiện các tác vụ khác cho đến khi nhận được phản hồi từ trình điều khiển thiết bị hoặc thực hiện các Tác vụ khác.

Mạng

Xem Thêm : Crowd1 là gì? Có lừa đảo không? – Muasieunhanh.com

Hầu hết các hệ điều hành hiện nay đều hỗ trợ các giao thức mạng, phần cứng và ứng dụng khác nhau để sử dụng chúng. Điều này có nghĩa là các máy tính chạy các hệ điều hành khác nhau có thể tham gia vào một mạng chung để chia sẻ tài nguyên như tệp tin, máy in và máy quét … bằng kết nối có dây hoặc không dây.

Về cơ bản, kết nối mạng cho phép hệ điều hành truy cập từ xa vào tài nguyên của một máy tính khác để có chức năng tương tự. Điều này bao gồm mọi thứ từ giao tiếp đơn giản đến sử dụng hệ thống tệp mạng hoặc thậm chí chia sẻ phần cứng âm thanh hoặc đồ họa của máy tính khác.

Một số dịch vụ mạng cho phép truy cập trực tiếp vào tài nguyên của máy tính, chẳng hạn như ssh, cho phép người dùng trong mạng truy cập trực tiếp vào giao diện dòng lệnh của máy tính.

Mạng máy khách / máy chủ cho phép chương trình trên một máy tính (được gọi là máy khách) kết nối với máy tính khác (được gọi là máy chủ) qua mạng. Máy chủ cung cấp các dịch vụ khác nhau cho các máy khách.

Các dịch vụ này thường được cung cấp thông qua các cổng hoặc điểm truy cập được đánh số trên địa chỉ ip của máy chủ. Mỗi cổng thường được liên kết với một chương trình đang chạy xử lý các yêu cầu đến cổng đó. “Daemon”, là một chương trình người dùng có thể truy cập tài nguyên phần cứng của máy tính bằng cách chuyển các yêu cầu đến nhân hệ điều hành.

Nhiều hệ điều hành cũng hỗ trợ một hoặc nhiều giao thức mạng mở hoặc dành riêng cho nhà cung cấp, chẳng hạn như snap trên hệ thống ibm, decnet trên hệ thống của Digital Equipment Corporation và các giao thức cụ thể trên hệ thống ibm. microsoft (smb) trên windows.

Cũng có thể hỗ trợ các giao thức dành riêng cho tác vụ như nfs để truy cập tệp. Các giao thức như esound hoặc esd có thể dễ dàng mở rộng qua mạng để cung cấp âm thanh từ các ứng dụng cục bộ trên phần cứng âm thanh của hệ thống từ xa.

Bảo mật hệ điều hành là gì?

Một máy tính an toàn dựa trên nhiều công nghệ. Hệ điều hành hiện đại cung cấp quyền truy cập vào nhiều tài nguyên có thể được sử dụng bởi phần mềm chạy trên hệ thống và thông qua hạt nhân để truy cập các thiết bị bên ngoài như mạng.

Hệ điều hành phải có khả năng phân biệt giữa các yêu cầu được phép xử lý và các yêu cầu khác không được xử lý. Trong khi một số hệ thống chỉ có thể phân biệt giữa “đặc quyền” và “không đặc quyền”, các hệ thống thường có cách xác định người yêu cầu, chẳng hạn như tên người dùng. Thiết lập xác thực.

Thông thường, tên người dùng phải được ủy quyền và mỗi tên người dùng có thể có một mật khẩu. Các phương pháp xác thực khác, chẳng hạn như thẻ từ hoặc dữ liệu sinh trắc học, cũng có thể được sử dụng.

Trong một số trường hợp, đặc biệt là các kết nối từ mạng, tài nguyên có thể được truy cập mà không cần xác thực (chẳng hạn như đọc tệp qua mạng chia sẻ). Ủy quyền cũng được định nghĩa theo khái niệm danh tính người yêu cầu; các dịch vụ và tài nguyên cụ thể mà người yêu cầu có thể truy cập sau khi đăng nhập vào hệ thống được liên kết với tài khoản người dùng của người yêu cầu hoặc các nhóm người dùng được định cấu hình khác nhau mà người yêu cầu thuộc về.

Ngoài việc cho phép hoặc không cho phép bảo mật, các hệ thống có mức độ bảo mật cao cung cấp các tùy chọn kiểm soát. Cho phép theo dõi các yêu cầu truy cập tài nguyên (ví dụ: “Ai đã đọc tệp này?”). Bảo mật nội bộ hoặc bảo mật của một chương trình đang chạy chỉ có thể thực hiện được nếu tất cả các yêu cầu phải được đưa ra thông qua các ngắt đối với nhân hệ điều hành. Nếu các chương trình có quyền truy cập trực tiếp vào phần cứng và tài nguyên, chúng không an toàn.

Bảo mật bên ngoài liên quan đến các yêu cầu từ bên ngoài máy tính, chẳng hạn như đăng nhập từ xa hoặc một số loại kết nối mạng. Các yêu cầu bên ngoài thường được định tuyến thông qua trình điều khiển thiết bị đến hạt nhân của hệ điều hành, nơi chúng có thể được định tuyến thông qua các ứng dụng hoặc thực thi trực tiếp.

Tính bảo mật của hệ điều hành từ lâu đã trở thành một vấn đề vì dữ liệu có độ nhạy cảm cao được lưu trữ trên máy tính, cho dù mang tính chất thương mại hay quân sự. Chính phủ Hoa Kỳ, Bộ Quốc phòng (dod) đã phát triển tiêu chuẩn Hệ thống đánh giá độ tin cậy (tcsec), đặt ra các yêu cầu cơ bản để đánh giá hiệu quả bảo mật.

Điều này trở nên quan trọng đối với các nhà sản xuất hệ điều hành vì tcsec được sử dụng để đánh giá, phân loại và lựa chọn các hệ điều hành đáng tin cậy đang được xem xét để xử lý, lưu trữ và truy cập thông tin nhạy cảm.

Các dịch vụ mạng bao gồm chia sẻ tệp, dịch vụ in, email, trang web và dịch vụ giao thức truyền tệp (ftp), nhiều dịch vụ trong số đó có thể có lỗ hổng bảo mật. Ở tuyến đầu của bảo mật là các thiết bị phần cứng được gọi là tường lửa hoặc hệ thống phát hiện / ngăn chặn xâm nhập.

Ở cấp hệ điều hành, có nhiều phần mềm tường lửa và hệ thống phát hiện / ngăn chặn xâm nhập. Hầu hết các hệ điều hành hiện đại bao gồm tường lửa phần mềm được bật theo mặc định. Tường lửa phần mềm có thể được cấu hình để cho phép hoặc từ chối lưu lượng mạng từ các dịch vụ hoặc ứng dụng chạy trên hệ điều hành.

Đối với các hệ điều hành không đáp ứng các yêu cầu bảo mật, một tùy chọn khác là hộp cát. Nó cung cấp một cơ chế để hệ điều hành không chạy các chương trình người dùng dưới dạng mã gốc, mà mô phỏng một bộ xử lý hoặc cung cấp một máy ảo để chương trình thực thi.

Bảo mật nội bộ đặc biệt hữu ích cho các hệ thống nhiều người dùng; nó cho phép mỗi người dùng hệ thống có các tệp riêng tư mà người dùng khác không thể truy cập. Bảo mật nội bộ cũng rất quan trọng vì các chương trình có khả năng vượt qua hệ điều hành, bao gồm bỏ qua các điều khiển.

Giao diện người dùng là gì?

Tất cả các hệ điều hành máy tính cá nhân đều có giao diện người dùng. Giao diện người dùng, thường được gọi là shell, cần thiết để hỗ trợ sự tương tác của con người. Giao diện người dùng đại diện cho cấu trúc thư mục và yêu cầu các dịch vụ từ hệ điều hành, thu thập dữ liệu từ các thiết bị phần cứng đầu vào như bàn phím, chuột hoặc đầu đọc thẻ và yêu cầu hệ điều hành hiển thị nó. Hiển thị lời nhắc, thông báo trạng thái trên các thiết bị phần cứng đầu ra, chẳng hạn như màn hình hoặc máy in.

Hai dạng giao diện người dùng phổ biến nhất đầu tiên là giao diện dòng lệnh, nơi các lệnh được nhập từng dòng và giao diện người dùng đồ họa, là môi trường trực quan (phổ biến nhất là wimp).

Giao diện người dùng đồ họa

Hầu hết các hệ thống máy tính hiện đại đều hỗ trợ giao diện người dùng đồ họa (gui). Trong một số hệ thống máy tính, chẳng hạn như phiên bản mac os cổ điển, gui được tích hợp sẵn trong hạt nhân.

Giao diện người dùng đồ họa Mac OS sơ khai

Giao diện người dùng đồ họa Mac OS sơ khai

Mặc dù về mặt kỹ thuật, giao diện người dùng đồ họa không phải là dịch vụ của hệ điều hành, việc kết hợp vào lõi kernel hệ điều hành có thể cho phép GUI phản ứng nhanh hơn bằng cách giảm số lượng chuyển đổi ngữ cảnh cần thiết để GUI thực hiện các chức năng đầu ra.

Các hệ điều hành khác có thể tách giao diện đồ họa khỏi nhân hệ điều hành. Vào những năm 1980, unix, vms và nhiều hệ điều hành đã được xây dựng theo cách này. linux và macos cũng được xây dựng theo cách này.

Các phiên bản hiện tại của Microsoft Windows (ví dụ: Windows Vista) triển khai hệ thống con đồ họa cho giao diện người dùng; tuy nhiên, các phiên bản giữa Windows NT 4.0 và Windows Server 2003 được tích hợp vào hạt nhân.

Nhiều hệ điều hành máy tính cho phép người dùng cài đặt hoặc tạo bất kỳ giao diện người dùng nào họ muốn. Giao diện Windows x kết hợp với gnome hoặc kde plasma 5 là đặc trưng của hệ điều hành unix như hệ thống (bsd, linux, solaris).

Một số chủ đề Windows đã được phát hành cho Microsoft Windows, cung cấp một giải pháp thay thế kết hợp giao diện Windows, nhưng bản thân giao diện đồ họa không thể tách rời khỏi Windows.

Giao diện người dùng đồ họa Linux hiện tại

Giao diện người dùng đồ họa Linux hiện tại

Nhiều GUI dựa trên Unix đã tồn tại theo thời gian, hầu hết có nguồn gốc từ X11. Sự cạnh tranh giữa các nhà cung cấp Unix (HP, IBM, Sun) khác nhau đã dẫn đến sự phân mảnh, mặc dù nỗ lực chuẩn hóa vào những năm 1990 của COSE và CDE thất bại vì nhiều lý do, và cuối cùng bị lu mờ bởi Gnome và K .

Giao diện người dùng đồ họa đã phát triển theo thời gian. Ví dụ, windows sửa đổi giao diện người dùng của nó với mọi bản phát hành windows chính và với sự ra đời của mac os x vào năm 1999, mac os gui đã thay đổi đáng kể.

Hệ điều hành thời gian thực

Hệ điều hành thời gian thực (rtos) là hệ điều hành dành cho các ứng dụng thời gian cố định (tính toán thời gian thực). Các ứng dụng này bao gồm một số hệ thống nhúng nhỏ, bộ điều khiển động cơ ô tô, rô bốt công nghiệp, tàu vũ trụ, bộ điều khiển công nghiệp và một số hệ thống máy tính lớn.

Một ví dụ ban đầu về hệ điều hành thời gian thực lớn là trung tâm giao dịch do các hãng hàng không của Mỹ phát triển và ibm cho hệ thống đặt chỗ của hãng hàng không saber.

Hệ thống nhúng có thời hạn cố định sử dụng hệ điều hành thời gian thực như vxworks, pikeos, ecos, qnx, montavista linux và rtlinux. Windows CE là hệ điều hành thời gian thực chia sẻ các API giống như Windows trên máy tính để bàn, nhưng không chia sẻ thư viện mã nguồn. Hệ điều hành symbian cũng có nhân rtos (eka2) bắt đầu từ phiên bản 8.0b.

Một số hệ thống nhúng sử dụng các hệ điều hành như palm os, bsd và linux, mặc dù các hệ điều hành này không hỗ trợ tính toán thời gian thực.

Phát triển hệ điều hành như một sở thích

Trong một số trường hợp, người dùng có thể phát triển hệ điều hành của riêng họ trên các thiết bị máy tính “sản xuất tại nhà”, chẳng hạn như một máy tính bảng đơn giản được hỗ trợ bởi bộ vi xử lý. 6502 logic, hoặc có thể cho một kiến ​​trúc đã được sử dụng rộng rãi.

Phát triển hệ điều hành với các tính năng hoàn toàn mới hoặc bạn có thể bắt đầu bằng cách lập mô hình hệ điều hành hiện có. Trong cả hai trường hợp, người dùng thường được phát triển cho chính họ, hoặc có thể là một nhóm nhỏ người, đôi khi là những cá nhân có cùng sở thích.

Ví dụ về hệ điều hành tự phát triển chẳng hạn như âm tiết và đền thờ.

Tính linh hoạt và đa dạng của hệ điều hành

Phần mềm ứng dụng thường được viết để sử dụng trên một hệ điều hành cụ thể và đôi khi cả phần cứng cụ thể. Khi một ứng dụng được chuyển sang chạy trên hệ điều hành khác, chức năng mà ứng dụng yêu cầu có thể được hệ điều hành đó chỉnh sửa hoặc thay đổi để thực hiện khác đi (tên chức năng, ý nghĩa tham số, v.v.).

unix là hệ điều hành đầu tiên không được viết bằng hợp ngữ, vì vậy nó rất tương thích với các hệ thống khác với hệ điều hành gốc.

Có thể tránh được chi phí hỗ trợ nhiều hệ điều hành bằng cách viết ứng dụng dựa trên nền tảng phần mềm như java hoặc qt.

Một cách tiếp cận khác dành cho các nhà cung cấp hệ điều hành là áp dụng các tiêu chuẩn. Ví dụ, các lớp trừu tượng posix và os cung cấp các điểm tương đồng để giảm chi phí chuyển đổi.

Nguồn: Tổng hợp + Wikipedia

Xem thêm:

  • Rom là gì? Bộ nhớ Chỉ Đọc – Tài liệu Kỹ thuật Điện tử
  • pppoe là gì? – Tài liệu kỹ thuật số

Nguồn: https://xettuyentrungcap.edu.vn
Danh mục: Hỏi Đáp

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button