Là trình điều khiển một phần của hệ điều hành?


14

Tôi gặp khó khăn trong việc hiểu những gì có trong HĐH và những gì không. Là trình điều khiển thiết bị như trình điều khiển máy in hoặc trình điều khiển đồ họa là một phần của HĐH? Suy nghĩ về định nghĩa của một hệ điều hành Tôi tin rằng các trình điều khiển là một phần của các hệ điều hành.


6
Có và không. Chúng là một phần của HĐH ở chỗ chúng hoạt động ở mức độ thấp và có quyền truy cập vào các giao diện bên trong. Và nhiều thứ rất quan trọng đối với hoạt động của HĐH. Nhưng chúng thường là các bộ phận "có thể thay thế được" riêng biệt và thường được xây dựng bởi một công ty khác với HĐH. Phụ thuộc vào định nghĩa của bạn về "HĐH", và không có một hãng nào.
Daniel R Hicks

Vui lòng xác định "bao gồm". Đảm bảo có trên Windows DVD để cài đặt trên ổ đĩa mới? Hoặc một phần khái niệm của hệ điều hành?
mùn cưa

Câu trả lời:


12

Có, trình điều khiển là một phần của hệ điều hành. Chúng chạy với mức đặc quyền tương tự như nhân hệ điều hành và để viết trình điều khiển, bạn phải biết rất nhiều về nội bộ hệ điều hành. Vai trò của trình điều khiển là cung cấp sự trừu tượng hóa phần cứng để các ứng dụng có thể sử dụng nó thông qua API hệ điều hành (giao diện lập trình ứng dụng) thay vì phải biết chi tiết cụ thể về nó. Trong nhiều trường hợp, nó cũng cho phép chia sẻ cùng một phần cứng giữa nhiều ứng dụng.

Một cái gì đó khiến người dùng hiểu lầm rằng các trình điều khiển có thể không phải là một phần của HĐH là nhiều nhà cung cấp cung cấp trình điều khiển cho phần cứng mà họ tạo ra tách biệt với HĐH. Thật vậy, nhiều trình điều khiển được trình bày dưới dạng các mô-đun có thể tải có thể được tải và sau đó tham gia vào hệ điều hành một cách linh hoạt. Một khi chúng không được sử dụng nữa, chúng có thể bị "ngắt kết nối" khỏi HĐH và nó vẫn tiếp tục chạy bình thường.

Có thể tải hay không, trình điều khiển luôn dành riêng cho các thiết bị mà chúng sẽ cung cấp cho hệ thống, vì vậy đôi khi chúng là các phần "tùy chọn" của HĐH, chúng sẽ tham gia vào nó khi vận hành.


1
Tôi không đồng ý (nhưng sẽ giữ bình chọn xuống), đơn giản vì cách bạn tuyên bố, các trình điều khiển KHÔNG luôn luôn được bao gồm hoặc sử dụng. Hệ điều hành là kernel. Giai đoạn = Stage. Windows Explorer không phải là một phần của hệ điều hành, mặc dù nó đi kèm với nó. Nhân là phần xử lý thực tế, vì vậy tôi sẽ xem xét đó là HĐH. Các mục khác được bao gồm không phải là một phần của HĐH
Canada Luke

Ngoài ra, bạn có thể chạy trình điều khiển ở cấp độ người dùng, vì vậy bạn không phải chạy chúng ở cấp độ kernel, mặc dù hầu hết là vậy.
Matt

Tôi có thể thấy quan điểm của bạn Luke. Có nhiều thiết bị tùy chọn không cần thiết cho hệ thống để hoạt động, vì vậy tôi có thể đồng ý rằng trình điều khiển của chúng không phải là một phần của HĐH theo nghĩa này . Giống như @Matt đã nói, một số trình điều khiển thậm chí có thể là trình điều khiển chế độ người dùng (nhiều trình điều khiển máy in), nhưng quan điểm của tôi là phần lớn các trình điều khiển, cấu trúc đặc biệt (video, bộ điều khiển đĩa, v.v.) là trình điều khiển chế độ kernel, và như vậy là hoặc trở thành một phần thực sự của kernel đang chạy khi được tải. Vì một kernel không thể làm bất cứ điều gì hữu ích một mình, tôi nghĩ rằng đủ công bằng để nói các trình điều khiển là (hoặc trở thành) một phần của hệ điều hành.
Claudio

1
Đó thực sự là một câu hỏi có / không. Mặc dù các trình điều khiển kỹ thuật không được bao gồm trong HĐH, bạn sẽ cần chúng để liên lạc với các thiết bị khác nhau. Ví dụ: video. Bạn sẽ thực hiện một yêu cầu đến kernel, sau đó kernel sẽ chuyển tiếp yêu cầu đến trình điều khiển hiển thị và sau đó thông tin lại để bạn thực sự có thể thấy một cái gì đó.
Matt

3
@Luke - Rõ ràng bạn thừa nhận rằng kernel là một phần của HĐH, nếu không phải là toàn bộ HĐH. Bạn đã bao giờ thấy mã nguồn cho một hệ điều hành hoặc kernel chưa? Trừ khi bạn làm việc cho MS hoặc ký NDA, chúng tôi sẽ không bao giờ thấy mã hạt nhân Windows. Nhưng hạt nhân Linux là nguồn mở và tất cả các trình điều khiển Linux (không độc quyền) là một phần của mã nguồn hạt nhân. Mã nguồn nhân Linux không được tách thành phần nhân và phần trình điều khiển; cây nguồn chứa các mô-đun lõi và trình điều khiển cùng nhau. Tôi hy vọng rằng MS sẽ xử lý mã nguồn của họ cho Windows theo cách tương tự.
mùn cưa

5

Thuật ngữ "HĐH" có thể có nghĩa là nhiều thứ.

Mặc dù trong hầu hết các hệ điều hành, kernel là đoạn mã đang quản lý và "chạy" mọi thứ và phân xử truy cập vào phần cứng, nó thường không thể tự mình làm bất cứ điều gì thú vị - công việc của nó là cung cấp một khung cho các ứng dụng chạy " trên đầu trang "nếu nó. Vì vậy, định nghĩa của nhiều người về HĐH bao gồm các tiện ích, hệ vỏ và chương trình tạo nên một môi trường tiêu chuẩn, quen thuộc.

Trình điều khiển phụ thuộc vào kernel và có lẽ chính xác nhất để nói rằng họ "mở rộng" nó, giống như các plugin. Linux hỗ trợ khái niệm "mô-đun hạt nhân có thể tải" - và tất cả các trình điều khiển thiết bị có thể là mô-đun hạt nhân có thể tải. Cũng có thể xây dựng một kernel trong đó một hoặc nhiều mô-đun này được "tích hợp" và không tách rời khỏi kernel. Vì vậy, bạn thực sự có thể xây dựng một hạt nhân "không điều tiết" trong Linux và nó sẽ không thể hỗ trợ bất kỳ phần cứng nào ngoài các mô-đun bạn tích hợp trong nó.

Tôi ít quen thuộc với sự can đảm của Windows, nhưng tôi tin ngoại trừ một vài trình điều khiển "miniport", tất cả các trình điều khiển là các tệp bên ngoài được tải khi khởi động. Nếu bạn đào sâu một chút vào việc tạo các dịch vụ trên Windows, có vẻ như trình điều khiển thực sự chỉ là các dạng dịch vụ đặc biệt trong Windows. Một số chương trình cài đặt trình điều khiển để truy cập phần cứng ở mức độ thấp, nhưng không nhất thiết phải lái thiết bị, đây thường là các trình điều khiển "Không cắm và chạy" trong Trình quản lý thiết bị. Do đó, dường như các trình điều khiển phục vụ chức năng tương tự về mặt khái niệm như các mô-đun hạt nhân có thể tải trong Linux.

Nói một cách đơn giản, chúng là một phần của HĐH, vì chúng thực sự không thể được sử dụng nếu không có HĐH và không hữu ích trừ khi HĐH được khởi động, nhưng dòng được vẽ khá tùy tiện trong mọi trường hợp.


1

Không có trình điều khiển không phải là một phần của hệ điều hành. Bạn có thể nói rằng trình điều khiển giúp HĐH giao tiếp với thiết bị hoặc phần cứng. Hệ điều hành không chứa tất cả các trình điều khiển theo mặc định như trong windows xp và vista nhưng trong windows 7 hầu hết các trình điều khiển cần thiết được bao gồm, vì vậy bạn đừng nhầm lẫn chúng không phải là một phần của HĐH.


Việc bạn nói rằng máy khoan không phải là một phần của hệ điều hành chứng tỏ bạn không biết mình đang làm gì. Windows XP bao gồm nhiều trình điều khiển giống như Windows Vista và Windows 7. Microsoft đã dành rất nhiều nỗ lực để bao gồm cả các trình điều khiển chung HƠN cho các thiết bị cho các bản phát hành đó.
Ramhound

Đúng. không có trình điều khiển, chúng tôi không thể sử dụng bất kỳ thiết bị. Vì vậy, chúng ta có thể nói rằng trình điều khiển giúp HĐH giao tiếp với thiết bị và về câu hỏi tôi sẽ nói rằng một số là một phần của HĐH và một số thì không. Có rất nhiều trình điều khiển không đi kèm với hệ điều hành.
Nợ

Về mặt kỹ thuật, ngay cả khi trình điều khiển không đi kèm với HĐH, nó một phần của HĐH khi bạn cài đặt và sử dụng. Bằng chứng là một trình điều khiển được viết xấu có thể khóa toàn bộ hệ thống của bạn vì nó không phải là một ứng dụng thông thường có thể bị HĐH giết chết, mà là một phần của chính nó.
Claudio
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.