Logo vi.androidermagazine.com
Logo vi.androidermagazine.com

Hạt nhân là gì?

Anonim

Hạt nhân là gì? Nếu bạn dành thời gian đọc các diễn đàn, blog, bài viết hướng dẫn hoặc thảo luận trực tuyến trên Android, bạn sẽ sớm nghe thấy mọi người nói về kernel. Một hạt nhân không phải là thứ gì đó độc đáo với Android - iOS và MacOS có một, Windows có một, QNX của BlackBerry có một, trên thực tế tất cả các hệ điều hành cấp cao đều có một. Thứ chúng tôi quan tâm là Linux, vì đây là thứ mà Android sử dụng. Chúng ta hãy cố gắng phá vỡ nó là gì và nó làm gì.

Các thiết bị Android sử dụng nhân Linux, đặt cược mọi điện thoại đều sử dụng phiên bản riêng của nó. Các nhà bảo trì nhân Linux giữ mọi thứ gọn gàng và sẵn có, những người đóng góp (như Google) thêm hoặc thay đổi mọi thứ để đáp ứng tốt hơn nhu cầu của họ và những người làm cho phần cứng cũng đóng góp, vì họ cần phát triển trình điều khiển phần cứng cho các bộ phận họ đang sử dụng cho phiên bản kernel họ đang sử dụng. Đây là lý do tại sao phải mất một thời gian để các nhà phát triển và tin tặc Android độc lập chuyển các phiên bản mới sang các thiết bị cũ hơn và khiến mọi thứ hoạt động. Trình điều khiển được viết để hoạt động với một phiên bản kernel cho điện thoại có thể không hoạt động với phiên bản phần mềm khác trên cùng một điện thoại. Và điều đó quan trọng, bởi vì một trong những chức năng chính của kernel là kiểm soát phần cứng. Đó là toàn bộ rất nhiều mã nguồn, với nhiều tùy chọn hơn trong khi xây dựng nó hơn bạn có thể tưởng tượng, nhưng cuối cùng, nó chỉ là trung gian giữa phần cứng và phần mềm.

Khi phần mềm cần phần cứng để làm bất cứ điều gì, nó sẽ gửi yêu cầu đến kernel. Và khi chúng tôi nói bất cứ điều gì, chúng tôi có nghĩa là bất cứ điều gì. Từ độ sáng của màn hình, đến mức âm lượng, để bắt đầu cuộc gọi qua radio, ngay cả những gì được vẽ trên màn hình cuối cùng cũng được điều khiển bởi kernel. Ví dụ: khi bạn nhấn vào nút tìm kiếm trên điện thoại, bạn nói với phần mềm để mở ứng dụng tìm kiếm. Điều gì xảy ra là bạn đã chạm vào một điểm nhất định trên bộ số hóa, thông báo cho phần mềm bạn đã chạm vào màn hình ở các tọa độ đó. Phần mềm biết rằng khi điểm đặc biệt đó được chạm vào, hộp thoại tìm kiếm được cho là mở. Hạt nhân là thứ cho phép bộ số hóa nhìn (hoặc lắng nghe, các sự kiện được "lắng nghe") cho các lần chạm, giúp tìm ra nơi bạn chạm vào và cho hệ thống bạn chạm vào nó. Đổi lại, khi hệ thống nhận được một sự kiện chạm tại một điểm cụ thể từ kernel (thông qua trình điều khiển), nó sẽ biết phải vẽ gì trên màn hình của bạn. Cả phần cứng và phần mềm đều giao tiếp cả hai cách với kernel và đó là cách điện thoại của bạn biết khi nào nên làm gì đó. Đầu vào từ một phía được gửi dưới dạng đầu ra sang bên kia, cho dù bạn đang chơi Angry Birds hay kết nối với Bluetooth của ô tô.

Nghe có vẻ phức tạp, và nó là. Nhưng đó cũng là logic máy tính khá chuẩn - có một hành động nào đó được tạo cho mọi sự kiện và tùy thuộc vào hành động đó xảy ra với phần mềm đang chạy. Nếu không có kernel để chấp nhận và gửi thông tin, các nhà phát triển sẽ phải viết mã cho mọi sự kiện cho mỗi phần cứng trong thiết bị của bạn. Với kernel, tất cả những gì họ phải làm là giao tiếp với nó thông qua API hệ thống Android và các nhà phát triển phần cứng chỉ phải làm cho phần cứng thiết bị giao tiếp với kernel. Điều tốt là bạn không cần phải biết chính xác làm thế nào hoặc tại sao hạt nhân làm những gì nó làm, chỉ cần hiểu rằng đó là sự kết hợp giữa phần mềm đến phần cứng giúp bạn nắm bắt khá tốt những gì xảy ra dưới kính.

Một loại mang đến một viễn cảnh hoàn toàn mới đối với những người bạn đã thức cả đêm để làm việc với hạt nhân cho điện thoại của bạn, phải không?