Hệ điều hành Android là gì. Cách hoạt động của Android

Trong loạt bài này, tôi sẽ nói về thiết bị bên trong của Android - về quá trình khởi động, về nội dung của hệ thống tệp, về Binder và Android Runtime, về những ứng dụng nào được cài đặt, khởi chạy, chạy và tương tác, về Android Framework, và Cách Android bảo mật.


Loạt bài:

  • Cách hoạt động của Android, phần 1

Vài sự thật

Android là hệ điều hành và nền tảng ứng dụng phổ biến nhất với hơn hai tỷ người dùng đang hoạt động. Nó chạy các thiết bị hoàn toàn khác nhau, từ Internet of Things và đồng hồ thông minh đến TV, máy tính xách tay và ô tô, nhưng hầu hết Android được sử dụng trên điện thoại thông minh và máy tính bảng.


Android là một dự án mã nguồn mở và miễn phí. Hầu hết mã nguồn (có thể tìm thấy trên) được phân phối theo giấy phép Apache 2.0 miễn phí.


Android Inc. được thành lập vào năm 2003 và được Google mua lại vào năm 2005. Phiên bản beta công khai của Android được phát hành vào năm 2007 và phiên bản ổn định đầu tiên vào năm 2008, kể từ đó các phiên bản chính được phát hành khoảng một lần một năm. Phiên bản ổn định mới nhất của Android tại thời điểm viết bài là 7.1.2 Nougat.


Android là Linux

Đã có rất nhiều tranh cãi về từ ngữ này, vì vậy tôi sẽ chỉ giải thích chính xác ý của tôi bằng cụm từ này: Android dựa trên nhân Linux, nhưng khác biệt đáng kể so với hầu hết các hệ thống Linux khác.


Trong nhóm phát triển Android gốc có Robert Love, một trong những nhà phát triển hạt nhân Linux nổi tiếng nhất và Google vẫn là một trong những người đóng góp tích cực nhất cho hạt nhân hiện nay, vì vậy không có gì ngạc nhiên khi Android được xây dựng trên nền tảng Linux.


Cũng như các hệ thống Linux khác, nhân Linux cung cấp những thứ cấp thấp như quản lý bộ nhớ, bảo vệ dữ liệu, hỗ trợ đa xử lý và đa luồng. Nhưng - với một vài ngoại lệ - bạn sẽ không tìm thấy các thành phần quen thuộc khác của hệ thống GNU / Linux trong Android: không có gì từ dự án GNU ở đây, X.Org không được sử dụng, thậm chí không phải systemd. Tất cả các thành phần này đã được thay thế bằng các thành phần phù hợp hơn với bộ nhớ hạn chế, tốc độ bộ xử lý thấp và tiêu thụ điện năng tối thiểu, khiến Android giống một hệ thống Linux nhúng hơn là GNU / Linux.


Một lý do khác khiến Android không sử dụng phần mềm GNU là chính sách "không có GPL trong không gian người dùng" nổi tiếng:


Đôi khi chúng tôi được hỏi tại sao Giấy phép Phần mềm Apache 2.0 là giấy phép ưu tiên cho Android. Đối với phần mềm không gian người dùng (nghĩa là không nhân), trên thực tế, chúng tôi thích ASL 2.0 (và các giấy phép tương tự như BSD, MIT, v.v.) hơn các giấy phép khác như LGPL.

Android là về tự do và sự lựa chọn. Mục đích của Android là thúc đẩy sự cởi mở trong thế giới di động và chúng tôi không tin rằng có thể dự đoán hoặc ra lệnh cho tất cả các mục đích sử dụng mà mọi người sẽ muốn sử dụng phần mềm của chúng tôi. Vì vậy, mặc dù chúng tôi khuyến khích mọi người tạo ra các thiết bị mở và có thể thay đổi được, nhưng chúng tôi không tin rằng đó là nơi chúng tôi buộc họ phải làm như vậy. Sử dụng thư viện LGPL thường sẽ buộc họ phải làm điều đó.

Bản thân nhân Linux trong Android cũng vậy Ít đã sửa đổi: một số thành phần nhỏ đã được thêm vào, bao gồm ashmem (bộ nhớ chia sẻ ẩn danh), trình điều khiển Binder (một phần của khung công tác Binder lớn và quan trọng, mà tôi sẽ thảo luận bên dưới), wakelocks (quản lý ngủ đông) và trình diệt bộ nhớ thấp. Chúng ban đầu là các bản vá cho hạt nhân, nhưng mã của chúng nhanh chóng được thêm trở lại hạt nhân ngược dòng. Tuy nhiên, bạn sẽ không tìm thấy chúng trong "Linux thông thường": hầu hết các bản phân phối khác đều vô hiệu hóa các thành phần này khi xây dựng.


Android không sử dụng thư viện GNU C (glibc) như libc (thư viện C tiêu chuẩn), nhưng triển khai tối giản của riêng nó được gọi là, được tối ưu hóa cho các hệ thống nhúng - nó nhanh hơn, nhỏ hơn và ít tốn bộ nhớ hơn so với glibc, đã phát triển quá mức với nhiều lớp tương thích.


Android có một dòng lệnh (shell) và nhiều hệ thống lệnh / chương trình giống Unix tiêu chuẩn. Trong các hệ thống nhúng, điều này thường được thực hiện bằng cách sử dụng gói Busybox, gói này thực hiện chức năng của nhiều lệnh trong một tệp thực thi duy nhất; Android sử dụng đối tác của nó có tên Toybox. Như với các bản phân phối Linux "thông thường" (và không giống như các hệ thống nhúng), cách tương tác chính với hệ thống là giao diện đồ họa, không phải dòng lệnh. Tuy nhiên, rất dễ dàng để "truy cập" vào dòng lệnh - chỉ cần khởi chạy ứng dụng giả lập đầu cuối. Nó thường không được cài đặt theo mặc định, nhưng có thể dễ dàng tải xuống từ Cửa hàng Play (Trình mô phỏng thiết bị đầu cuối cho Android, Material Terminal, Termux). Nhiều bản phân phối Android "nâng cao" - chẳng hạn như LineageOS (trước đây là CyanogenMod) - đi kèm với trình giả lập thiết bị đầu cuối được cài đặt sẵn.



Tùy chọn thứ hai là kết nối với thiết bị Android từ máy tính thông qua Android Debug Bridge (adb). Điều này rất giống với kết nối qua SSH:


[email được bảo vệ]$ adb shell android $ uname Linux

Các thành phần quen thuộc khác trong Android bao gồm thư viện FreeType (để hiển thị văn bản), API đồ họa OpenGL ES, EGL và Vulkan và công cụ cơ sở dữ liệu SQLite nhẹ.


Ngoài ra, công cụ trình duyệt WebKit trước đây đã được sử dụng để triển khai WebView, nhưng kể từ phiên bản 7.0, ứng dụng Chrome đã cài đặt được sử dụng thay thế (hoặc cách khác; danh sách các ứng dụng được phép hoạt động như một nhà cung cấp WebView được định cấu hình tại thời điểm biên dịch). Bên trong, Chrome cũng sử dụng công cụ Blink dựa trên WebKit, nhưng không giống như thư viện hệ thống, Chrome được cập nhật thông qua Cửa hàng Play - vì vậy tất cả các ứng dụng sử dụng WebView sẽ tự động nhận được các bản sửa lỗi và cải tiến lỗ hổng bảo mật mới nhất.


Đó là tất cả về ứng dụng

Như bạn có thể dễ dàng thấy, sử dụng Android về cơ bản khác với sử dụng "Linux thông thường" - bạn không cần mở và đóng các ứng dụng, bạn chỉ cần chuyển đổi giữa chúng, như thể tất cả các ứng dụng luôn chạy. Thật vậy, một trong những tính năng độc đáo của Android là các ứng dụng không trực tiếp kiểm soát quá trình mà chúng được khởi chạy. Hãy nói về điều này chi tiết hơn.


Đơn vị cơ bản trong các hệ thống giống Unix là một tiến trình. Và các dịch vụ hệ thống cấp thấp, và các lệnh riêng lẻ trong shell và các ứng dụng đồ họa là các quy trình. Trong hầu hết các trường hợp, một tiến trình là một hộp đen cho phần còn lại của hệ thống - các thành phần khác của hệ thống không biết hoặc không quan tâm đến trạng thái của nó. Quá trình bắt đầu thực hiện với một lệnh gọi đến hàm main () (thực ra là _start), sau đó thực hiện một số logic của nó, tương tác với phần còn lại của hệ thống thông qua các lệnh gọi hệ thống và giao tiếp liên quá trình đơn giản nhất (IPC).


Vì Android cũng giống Unix, điều này hoàn toàn đúng với nó, nhưng trong khi các phần cấp thấp - ở cấp Unix - hoạt động dựa trên khái niệm về một quy trình, thì ở cấp cao hơn - cấp Android Framework - đơn vị cơ bản là tập tin đính kèm... Một ứng dụng không phải là một hộp đen: nó bao gồm các thành phần riêng lẻ mà phần còn lại của hệ thống đã biết rõ.


Ứng dụng Android không có hàm main (), không có điểm nhập duy nhất. Nói chung, Android trừu tượng hóa khái niệm càng nhiều càng tốt ứng dụng đang chạy từ cả người dùng và nhà phát triển. Tất nhiên, quá trình ứng dụng cần phải được bắt đầu và dừng lại, nhưng Android thực hiện điều này một cách tự động (tôi sẽ cho bạn biết thêm về điều này trong các bài viết sau). Nhà phát triển được khuyến khích triển khai một số thành phần riêng biệt, mỗi thành phần có vòng đời riêng.


Tuy nhiên, trong Android, chúng tôi quyết định rõ ràng rằng chúng tôi sẽ không có hàm main (), vì chúng tôi cần cung cấp cho nền tảng nhiều quyền kiểm soát hơn đối với cách một ứng dụng chạy. Đặc biệt, chúng tôi muốn xây dựng một hệ thống mà người dùng không bao giờ cần phải suy nghĩ về việc khởi động và dừng ứng dụng, mà hệ thống sẽ lo việc này cho họ ... vì vậy hệ thống phải có thêm một số thông tin về những gì đang diễn ra bên trong mỗi ứng dụng và có thể khởi chạy ứng dụng theo nhiều cách khác nhau được xác định rõ ràng bất cứ khi nào cần ngay cả khi ứng dụng hiện không chạy.

Để triển khai một hệ thống như vậy, các ứng dụng cần có khả năng giao tiếp với nhau và với các dịch vụ hệ thống - nói cách khác, cần có một cơ chế IPC rất tiên tiến và nhanh chóng.


Cơ chế này là Binder.

Chất kết dính

Binder là một nền tảng để giao tiếp liên quy trình nhanh chóng, thuận tiện và hướng đối tượng.


Sự phát triển của Binder bắt đầu tại Be Inc. (cho BeOS), sau đó nó được chuyển sang Linux và mã nguồn mở. Nhà phát triển chính của Binder, Dianne Hackborn, đã và vẫn là một trong những nhà phát triển Android chính. Trong quá trình phát triển, Android Binder đã được viết lại hoàn toàn.


Binder không chạy trên System V IPC (thậm chí không được hỗ trợ trong bionic), mà sử dụng mô-đun hạt nhân nhỏ của riêng nó, được tương tác từ không gian người dùng thông qua lệnh gọi hệ thống (chủ yếu là ioctl) trên "thiết bị ảo" / dev / binder. Từ phía không gian người dùng, công việc cấp thấp với Binder, bao gồm tương tác với / dev / binder và sắp xếp / hủy quản lý dữ liệu, được thực hiện trong thư viện.


Các phần cấp thấp của Binder hoạt động dưới dạng các đối tượng có thể được chuyển giữa các quy trình. Nó sử dụng phương pháp đếm tham chiếu để tự động giải phóng các tài nguyên được chia sẻ không sử dụng và thông báo liên kết đến chết cho các tài nguyên miễn phí trong một quy trình.


Các phần cấp cao của Binder hoạt động về giao diện, dịch vụ và proxy. Phần mô tả giao diện do chương trình cung cấp cho các chương trình khác được viết bằng ngôn ngữ đặc biệt AIDL (Ngôn ngữ định nghĩa giao diện Android), trông rất giống với phần khai báo giao diện trong Java. Theo mô tả này, giao diện Java thực được tạo tự động, sau đó có thể được sử dụng bởi cả máy khách và bản thân dịch vụ. Ngoài ra, hai lớp đặc biệt được tạo tự động từ tệp .aidl: Proxy (để sử dụng từ phía máy khách) và Stub (từ phía dịch vụ), thực hiện giao diện này.


Đối với mã Java trong tiến trình máy khách, đối tượng proxy trông giống như một đối tượng Java thông thường thực hiện giao diện của chúng ta và mã này có thể chỉ cần gọi các phương thức của nó. Trong trường hợp này, việc triển khai đối tượng proxy đã tạo sẽ tự động tuần tự hóa các đối số được truyền, giao tiếp với quy trình dịch vụ thông qua libbinder, giải mã hóa kết quả cuộc gọi được chuyển trở lại và trả về nó từ phương thức Java.

Xin chào các bạn, mình đang bắt đầu phát triển phần liên quan đến điện thoại thông minh, hiện tại nó đã có đầy đủ chức năng. Bây giờ trên trang web, bạn sẽ tìm thấy một loạt các bài viết thú vị về điện thoại thông minh dựa trên Android. Tôi sẽ xếp hàng càng chi tiết càng tốt để truyền tải đến người dùng về điện thoại thông minh mới, tức là sẽ có rất nhiều tin tức. Tất nhiên, trọng tâm sẽ là việc tạo ra các tài liệu để làm việc với HĐH. Vì vậy, để nói, một hướng dẫn từ A đến Z. Bây giờ, tôi sẽ bắt đầu với đơn giản nhất, và viết một bài báo về nó là gì và những ưu điểm và nhược điểm của nó. Bây giờ chúng ta đi qua vấn đề.

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

Android Là một hệ điều hành dựa trên nhân Linux, được Google mua lại vào năm 2005. Năm 2008, phiên bản đầu tiên của hệ điều hành đã được phát hành. Hệ điều hành này được thiết kế cho điện thoại thông minh, máy tính bảng và nhiều thiết bị khác. Hiện tại, nó đang được tích hợp vào đồng hồ, nhiều bộ điều hướng, bảng điều khiển và trình phát.

Một số lượng lớn điện thoại thông minh và các thiết bị khác có hệ thống này hiện đang được tạo ra. Cô ấy đã trở nên nổi tiếng khủng khiếp, vì vậy cô ấy gần như không có đối thủ cạnh tranh, có lẽ ngoại trừ iOS.

Tôi nghĩ rằng không đáng để liệt kê những thương hiệu nổi tiếng của điện thoại ngày nay đang phát triển nhảy vọt. Vì vậy, tất cả đều sử dụng Android. Nếu chúng ta nói về một hệ thống sạch, thì chúng ta có thể nói rằng nó rất nhanh nhẹn và hiệu quả. Nhiều nhà sản xuất, lấy hệ điều hành này làm cơ sở, tạo ra vỏ của riêng họ với các chức năng, khả năng và thiết kế bổ sung. Ai đó làm điều đó tốt hơn, và hệ thống sẽ bay, nhưng trong một số thiết bị thì không. Với sự trợ giúp của hệ điều hành, bạn có khả năng điều khiển các chức năng như Wi-Fi, Bluetooth, NFC, GPS, tạo điểm phát Wi-Fi, nghĩa là tạo modem từ điện thoại của bạn và hơn thế nữa. Điện thoại thông minh hiện đại được tích hợp cảm biến quét vân tay và mống mắt, có thể cải thiện đáng kể khả năng bảo vệ - tất cả đều có thể được điều khiển bằng Android. Đương nhiên, Apple đang cố gắng theo kịp iOS của mình.

Ưu và nhược điểm

Hãy cùng xem những ưu và nhược điểm:

  • Vì nó được phát triển trên nhân Linux mã nguồn mở, hệ thống di động cũng là mã nguồn mở, cho phép bạn tạo ra bất cứ thứ gì mà bạn mong muốn cho hệ thống này.
  • Một hệ điều hành sạch được tối ưu hóa cao và không đòi hỏi khắt khe trên các thiết bị. Nó có thể hoạt động trên điện thoại yếu nhất hiện nay, mặc dù điều này đã là hiếm.
  • Khả năng tùy chỉnh hệ thống cho chính bạn.
  • Một số lượng lớn các tiện ích bổ sung và ứng dụng giúp mở rộng đáng kể khả năng của hệ điều hành.
  • Làm việc nhanh chóng (không phải trong mọi trường hợp).
  • Hệ thống có sẵn cho các nền tảng phần cứng sau: ARM, x86, MIPS.

Đây là những đặc điểm tích cực chính mà tôi ghi nhận cho bản thân. Có thể có một cái gì đó khác. Ngoài những điểm cộng, còn có minuses:

  • Hệ điều hành mã nguồn mở mang lại lợi thế cho các nhà sản xuất điện thoại thông minh và máy tính bảng trong việc tạo ra các lớp vỏ không phải lúc nào cũng tối ưu và hiệu quả nhất có thể. Ngoài ra, bản cập nhật shell có thể đến muộn hơn nhiều so với phiên bản mới nhất của hệ thống chính thức được phát hành.
  • Nếu hệ thống được tối ưu hóa kém, thì khả năng tiêu thụ điện năng cao. Và tính nguyên tử hiện nay được đánh giá rất cao. Nhưng nó phụ thuộc vào các nhà sản xuất thiết bị.
  • Do sự phổ biến, tin tặc và những kẻ xấu khác viết virus cho HĐH và tìm kiếm các lỗ hổng. Tất nhiên, hệ điều hành này có một số bảo vệ, không giống như Windows. Vì vậy, bất lợi là không nhỏ.
  • Đã có những trường hợp nói chung là vài triệu đô la đã bị đánh cắp từ người dùng trên khắp thế giới. Điều này được thực hiện bằng cách gửi SMS mà người dùng không hề hay biết.


Ngoài hệ thống sạch từ Google, có một số người đam mê phát triển phần sụncó chức năng và khả năng riêng. Bạn sẽ thấy một thiết kế hoàn toàn khác, điều đó xảy ra là firmware của nhà sản xuất khác sẽ hoạt động tốt hơn Android thuần túy.

Hiện tại, có những công ty tạo ra firmware cho điện thoại thông minh và các thiết bị khác: CyanogenMod, hiện là LineageOS, AOKP, MIUI, Paranoid Android, AOSP, Replicant và những công ty khác.

Các nhà phát triển nhiệt tình cố gắng phát hành các phiên bản phần sụn đúng hạn, cùng với việc phát hành một hệ điều hành sạch. Nhưng đôi khi không cần thiết phải flash điện thoại, vì các nhà sản xuất có thể lo việc này.

Ứng dụng và Chợ Play

Mọi người đều biết rằng mỗi ngày trong cửa hàng ứng dụng Google - Thị trường chơi hàng trăm chương trình và trò chơi được đặt ra. Bạn có thể tìm thấy bất cứ thứ gì trái tim mình mong muốn, đây là nhiều trình phát âm thanh và video, hình nền máy tính để bàn, trình quản lý tệp, trong đó có thể có hàng nghìn, một loạt phần mềm để giao tiếp với mọi người - mạng xã hội, trình nhắn tin tức thì và những phần mềm khác. Bạn cũng có thể tải xuống phim, sách và nhạc từ đó. Tất nhiên, nội dung ở đó có cả trả phí và miễn phí.

Một chút lý thuyết. Mã ứng dụng Android được viết cho cái gọi là máy ảo Dalvic. Các ứng dụng được định dạng .apk, đây là định dạng duy nhất. Cho đến gần đây, bản thân các ứng dụng có thể được viết bằng Java, và kể từ năm 2009, Google đã bổ sung một gói tính năng đặc biệt cho phép bạn tạo phần mềm bằng C và C ++. Ngoài ra, có nhiều môi trường phát triển như Embarcadero RAD Studio.


Đối với chính cửa hàng ứng dụng, chúng tôi đã mở nó vào năm 2008. Thỏa thuận là các nhà phát triển phần mềm chia 30% lợi nhuận cho Google. Theo tiêu chuẩn của năm 2017, có khoảng 2,8 triệu ứng dụng trong cơ sở dữ liệu của Play Market.

Tất nhiên, có những người dùng vô lương tâm đã đăng tải các ứng dụng có mã độc, gây ra một vụ bê bối vào khoảng năm 2011, nhưng các vấn đề nhanh chóng được giải quyết và các lỗ hổng được đóng lại.

Ai có thể không nói điều đó, nhưng Thị trường Play cụ thể trực tiếp là App Store - một cửa hàng ứng dụng dành cho iPhone, iPad, iPod và những thứ khác. Họ có ít phần mềm hơn Play Market. Thu nhập của các nhà phát triển giống như thu nhập của Google. Bạn tạo một ứng dụng trả phí mà bạn sẽ cung cấp 30% lợi nhuận.

Có gì bên trong Android

Và bây giờ gần như là mốt áp chót mà tôi muốn nói về các thành phần bên trong của hệ thống. Những người sử dụng hệ thống này nên hiểu ít nhất một chút về nó. Và hãy so sánh nó với Windows.

Vì vậy, Linux khác với Windows ở chỗ thông tin thứ hai được phân tách thành các đĩa và bố, tất nhiên, trong Linux cũng vậy, nhưng nó được hiển thị theo những cách khác nhau. Trong hệ thống Linux, một cấu trúc cây.

Cũng có sự khác biệt trong thanh ghi. Nếu bạn tạo nhiều thư mục có tên giống nhau, thì trên Windows sẽ không có sự khác biệt, nhưng trên Linux chúng sẽ là các thư mục hoàn toàn khác nhau. Điều này cũng áp dụng cho các tệp. Những tên này sẽ khác nhau trong Linux - Papka, papka, PAPKA.

Luôn là bộ nhớ đệm cho hệ thống và một số ứng dụng sẽ được lưu trong phần đặc biệt - bộ nhớ đệm.

Chắc chắn mọi người đã nhìn thấy thư mục trong trình quản lý tệp dữ liệu... Thư mục này có các thư mục khác liên quan đến tệp cài đặt và thư mục từ các ứng dụng.

Các tệp cấu hình và thư viện phần mềm có thể được tìm thấy trong thư mục app-lib.

Để làm cho các ứng dụng hoạt động, chúng được viết bằng Java cho một máy ảo đặc biệt Dalvik. Do đó, bạn có thể bắt gặp một thư mục dalvic-cache... Đôi khi nó cần được làm sạch, chẳng hạn như trước khi nhấp nháy điện thoại. Điều này được thực hiện bằng quyền root hoặc from, nhưng tôi chắc chắn sẽ nói về tất cả những điều này trong các bài viết trong tương lai.

Bạn chắc chắn sẽ thấy thư mục trong trình quản lý tệp hệ thống... Từ cái tên, rõ ràng là cài đặt hệ thống được lưu trữ ở đó, việc thay đổi có thể làm hỏng hệ thống của bạn.

Trong danh mục vân vân bạn sẽ tìm thấy các tệp cho phép hệ thống khởi động bình thường.

Đây không phải là tất cả các thư mục có trong hệ thống Android. Sẽ cần một vài bài báo bổ sung để tìm ra điều này.

Các tính năng bổ sung

Nhiều người biết rằng mỗi sửa đổi của hệ thống đều có một tên khóa, thường là một số loại tráng miệng. Ví dụ như Cupcake, có nghĩa là bánh nướng nhỏ. Một trong những phiên bản phổ biến 4.1-4.3 có tên Thạch đậu (Kẹo dẻo). Nhưng phiên bản 4.4 được đặt theo tên của thanh sô cô la nổi tiếng Sô cô la kitkat... Sửa đổi tiếp theo 5.0 và 5.1 có tên Kẹo mút - kẹo mút. Tùy chọn thứ sáu là Kẹo dẻo và cuối cùng, phiên bản 7.0-7.1.2 mới nhất đã nhận được mã Nougat.

Chỉ còn lại rất ít trước khi phát hành phiên bản 8, hay còn được gọi là Android O. Phiên bản beta của hệ điều hành đã được cài đặt trên một số flagship và hoạt động ổn định. Hệ điều hành đầy đủ sẽ được phát hành vào cuối năm 2017. Và có, từ khóa có thể là - Bánh Oreo... Dưới đây, bạn sẽ thấy một video về bản trình bày của phiên bản thứ tám.

Vâng các bạn, mình đã hoàn thành bài viết, giờ thì các bạn đã biết Android là gì, sử dụng ở đâu, tính năng của nó. Trong các bài viết tới, tôi sẽ cho bạn biết hầu hết mọi thứ liên quan đến hệ điều hành này. Vâng, tôi muốn bạn may mắn!

Mỗi điện thoại thông minh bao gồm nhiều thành phần phức tạp và bạn sẽ không phải lúc nào cũng nghĩ về chúng trước khi chọn một mẫu thiết bị. Tuy nhiên, điều quan trọng là phải biết phần cứng nào giúp điện thoại thông minh của bạn hoạt động.

Trong bài viết này, chúng ta sẽ phân tích các phần chính của thứ đã trở thành một trong những thiết bị điện tử quan trọng nhất trên thị trường. Chúng ta hãy xem xét một điện thoại thông minh bao gồm những gì và cái này hoặc thành phần đó dùng để làm gì. Bây giờ có rất nhiều mẫu điện thoại thông minh khác nhau, kiểu dáng khác nhau, với các đặc điểm khác nhau, thời lượng pin và như vậy. Nhưng nếu bạn hiểu được cấu trúc phần cứng của điện thoại thông minh, thì việc lựa chọn mẫu phù hợp sẽ dễ dàng hơn nhiều.

1. Hiển thị

Một trong những thành phần rõ ràng nhất của điện thoại thông minh là màn hình của nó. Mọi thứ bạn nhìn thấy trên màn hình đều được xử lý và kiểm soát bởi các thành phần bên trong. Hiện nay có hai công nghệ để sản xuất màn hình:

  • Màn hình tinh thể lỏng, chúng được làm bằng công nghệ IPS hoặc TFT;
  • Màn hình LED sử dụng công nghệ AMOLED hoặc Super AMOLED.

Màn hình tinh thể lỏng sử dụng đèn nền để tạo ra hình ảnh. Ánh sáng trắng đi qua các bộ lọc và nhờ khả năng kiểm soát các thuộc tính của các tinh thể, bạn có thể nhìn thấy các màu sắc khác nhau. Ánh sáng không phải do màn hình tạo ra, nó được tạo ra bởi nguồn sáng phía sau nó.

Màn hình LED hoạt động khác. Mỗi pixel bạn nhìn thấy trên màn hình là một đèn LED riêng biệt. Ở đây, màn hình tự tạo ra màu sắc rực rỡ và đầy màu sắc. Ưu điểm của Super AMOLED so với IPS là khi tắt điểm ảnh bạn sẽ thấy màu đen, không gây tốn pin. Do đó, điện thoại thông minh với AMOLED sẽ tiết kiệm pin hơn. Nhưng màn hình AMOLED đắt hơn IPS, do đó, một chiếc điện thoại thông minh có màn hình như vậy sẽ có giá cao hơn đáng kể.

2. Pin

Điện thoại thông minh thường sử dụng pin lithium-ion và có thể tháo rời hoặc có thể không. Nhờ công nghệ này, bạn không cần phải hiệu chỉnh hoặc kiểm tra pin của mình như khi làm với pin làm từ niken. Tuy nhiên, những loại pin này có nhiều vấn đề riêng.

3. Hệ thống trên chip (SoC)

SoC hoặc bo mạch chủ với bộ xử lý là thành phần quan trọng nhất của điện thoại thông minh của bạn. Một số người dùng có thể nghĩ rằng đây là bộ vi xử lý của thiết bị, nhưng còn nhiều điều hơn thế. SoC không chỉ bao gồm bộ xử lý mà còn bao gồm GPU, modem LTE, bộ điều khiển màn hình, bộ điều hợp không dây và các khối silicon khác giúp điện thoại hoạt động.

Có smartphone sử dụng SoC của Qualcomm, MediaTek, Samsung, có chip của Krirn, Apple nhưng đều sử dụng chung một kiến \u200b\u200btrúc - ARM. ARM không chỉ sản xuất bộ vi xử lý mà còn cấp phép kiến \u200b\u200btrúc của họ cho các công ty khác, vì vậy mọi người đều có thể sử dụng cùng một công nghệ để tạo ra các SoC hiện đại và mạnh mẽ.

Một số công ty phát hành các đường kiến \u200b\u200btrúc của họ tương thích với ARM và có thể được sử dụng trong điện thoại thông minh. Một ví dụ sẽ là chipset của Apple chạy trên bộ xử lý Cyclone hoặc bộ xử lý Kryo của Qualcomm. SoC là những thành phần chính tạo nên một chiếc điện thoại thông minh.

4. Nội bộ và RAM

Không có điện thoại thông minh nào có thể hoạt động nếu không có RAM và bộ nhớ hệ thống. Hầu hết các thiết bị sử dụng RAM LPDDR3 hoặc LPDDR4 và một số mẫu cao cấp đi kèm với LPDDR4X. Sự kết hợp của LP có nghĩa là Công suất thấp, điện áp cung cấp của các vi mạch này được giảm xuống và điều này làm cho chúng hiệu quả hơn về mặt tiêu thụ năng lượng.

LPDDR4 hiệu quả hơn LPDDR3 và LPDDR4X hiệu quả hơn và tiết kiệm hơn cả hai. Ngoài ra còn có một bộ nhớ tình cảm hơn - LPDDR5.

Đối với bộ nhớ trong, nó sử dụng bộ nhớ flash từ 32 đến 256 GB. Yêu cầu của người dùng không ngừng tăng lên và khối lượng sẽ tăng theo họ. Khi bật điện thoại, bạn sẽ thấy dung lượng lưu trữ nhỏ hơn so với quy định. Ví dụ, người ta nói rằng ổ đĩa là 64 GB, và 53-55 GB có sẵn để ghi. Bộ nhớ này bị chiếm bởi hệ điều hành và các ứng dụng.

5. Modem

Vì điện thoại thông minh vẫn là điện thoại, chúng cần các thành phần giao tiếp để nhận và thực hiện cuộc gọi, gửi tin nhắn văn bản và giao tiếp với Internet. Đây là những gì modem được sử dụng. Mỗi nhà sản xuất SoC đều có thương hiệu modem riêng, đó là Qualcomm, Samsung, Huawei và các hãng khác.

Mỗi nhà sản xuất đều cố gắng phát hành chip LTE nhanh nhất. Hiện tại là chip 9-LTE nhanh nhất, nhưng sẽ không có ý nghĩa gì nếu mạng di động của bạn không hỗ trợ tốc độ đó.

6. Máy ảnh

Tất cả các điện thoại thông minh đều có camera trước và sau. Máy ảnh có ba phần chính:

  • cảm biến - phát hiện ánh sáng;
  • Ống kính - tập trung hình ảnh;
  • Bộ xử lý hình ảnh.

Số megapixel của camera điện thoại thông minh vẫn là một tiêu chí rất quan trọng, nhưng bây giờ nó ít quan trọng hơn nhiều. Bây giờ yếu tố hạn chế chính là cảm biến máy ảnh, cũng như độ nhạy của nó khi ánh sáng đi qua nó.

Cảm biến có thể hoạt động khác nhau ở mỗi điện thoại thông minh, vì vậy ảnh hoặc video sẽ có độ tương phản, màu sắc, độ bão hòa khác nhau so với các điện thoại thông minh khác. Vì điện thoại thông minh có kích thước cảm biến nhỏ, chúng có xu hướng hoạt động kém hơn trong điều kiện ánh sáng yếu.

7. Cảm biến

Hầu hết các điện thoại thông minh hiện đại đều được tích hợp năm cảm biến chính sẽ cho phép bạn sử dụng điện thoại thông minh thuận tiện hơn. Họ đây rồi:

  • Gia tốc kế - được các ứng dụng sử dụng để xác định hướng của thiết bị và chuyển động của nó. Ví dụ: cho phép bạn sử dụng lắc điện thoại thông minh để chuyển nhạc;
  • Con quay hồi chuyển - hoạt động với một gia tốc kế để phát hiện các vòng quay của điện thoại của bạn. Hữu ích cho các trò chơi đua xe;
  • La bàn điện tử - Giúp tìm hướng Bắc cho định hướng bình thường trên bản đồ;
  • Cảm biến ánh sáng - Cảm biến này tự động điều chỉnh độ sáng của màn hình dựa trên ánh sáng xung quanh và giúp kéo dài thời lượng pin.
  • Cảm biến tiệm cận - Trong khi gọi, nếu thiết bị gần tai bạn, cảm biến này sẽ tự động khóa màn hình để ngăn những chạm không mong muốn.

Đây là tất cả các yếu tố chính của điện thoại thông minh, trong các kiểu máy khác nhau có thể có các cảm biến khác, ví dụ như cảm biến nhịp tim, áp suất và nhiệt độ, nhưng chúng ít phổ biến hơn nhiều.

kết luận

Chúng tôi đã kiểm tra những gì một điện thoại thông minh bao gồm. Bây giờ bạn đã có thêm thông tin về các thành phần phức tạp tạo nên mỗi điện thoại thông minh, bạn có thể chọn mua trong tương lai của mình bằng cách so sánh các đặc điểm của các thành phần khác nhau. Điều này sẽ giúp bạn chọn được thiết bị tốt nhất phù hợp với nhu cầu của mình.

Bạn có thể ở đây bởi vì bạn đã có thiết bị Android hoặc mới bắt đầu nghĩ đến việc mua. Những cái mới có rất nhiều tiện ích với các quyền và khả năng được nâng cao và rất nhiều "niềm vui".

Không giống như iPhone hoặc iPad (chỉ có một vài thiết bị), có hàng trăm thiết bị Android để bạn lựa chọn. Đây chỉ là một lý do tại sao họ rất hấp dẫn và có nhu cầu. Bạn chắc chắn tìm thấy chính xác những gì bạn cần - trong phạm vi ngân sách của bạn hoặc tùy thuộc vào các tùy chọn khác của bạn.

Có rất nhiều tùy chọn và loại Android, bởi vì, về mặt kỹ thuật, nó là hệ điều hành cho bất kỳ điện thoại thông minh và máy tính bảng nào. Nhiều công ty sản xuất và chế tạo các thiết bị được đánh giá là chạy trên Android, bao gồm Samsung, HTC, LG và các thương hiệu ít được biết đến khác. Và tất cả đều khác nhau, vì mỗi nhà sản xuất đưa các cài đặt và chức năng riêng của mình vào thiết bị, từ đó đóng vai trò là ưu điểm hoặc nhược điểm của hãng này hoặc hãng kia khi mua hàng của hãng.

Điều gì làm cho mỗi thiết bị trở nên độc đáo?

Các thiết bị Android khác nhau tùy theo nhà sản xuất. Hãy xem hai điện thoại Android dưới đây. Bạn thấy gì?

Một số khác biệt là rõ ràng, nhưng một số khác ít rõ ràng hơn, chẳng hạn như:

  • Điện thoại bên trái lớn hơn một chút
  • Màn hình khác nhau, các nút ở phía dưới khác nhau
  • Mỗi màn hình có bố cục độc đáo riêng
  • Một số biểu tượng trông khác nhau; ví dụ so sánh hai biểu tượng cuộc gọi

Sẽ luôn có sự khác biệt trong chính thiết bị cầm tay, chẳng hạn như ngoại hình, bộ nhớ lưu trữ và chất lượng camera. Cũng sẽ có những khác biệt về phần mềm (nói cách khác là các tính năng trên màn hình) có thể ảnh hưởng đến cách bạn sử dụng thiết bị Android nói chung.

Mua thiết bị Android

Bây giờ bạn biết rằng mọi thiết bị Android là duy nhất. Nếu bạn chưa có thiết bị Android, đã đến lúc mua thiết bị phù hợp với nhu cầu của bạn.

Lựa chọn thiết bị

Nếu bạn không chắc nên bắt đầu từ đâu, bạn có thể kiểm tra một số đánh giá trên các trang web. Dựa trên phản hồi, bạn sẽ có ý tưởng tốt hơn về những thiết bị có sẵn và chúng thực hiện chức năng của chúng tốt như thế nào. Nhìn chung, có 2 yếu tố chính cần để ý khi mua: giá cả và tính năng.

Giá bán: Các thiết bị Android có thể rất khác nhau về giá. Ví dụ: một số người bán (ví dụ: Megafon) cung cấp một số điện thoại nhất định với giá rất thấp hoặc thậm chí miễn phí (thường là những mẫu cũ hoặc những mẫu không hoạt động nhiều) nếu bạn mua thẻ SIM trong một khoảng thời gian nhất định. Nếu sự lựa chọn của bạn rơi vào những chiếc điện thoại đắt tiền hơn, thì giá của những chiếc điện thoại đó sẽ dao động từ đến... Máy tính bảng thường có giá cao hơn.

Nét đặc trưngĐ: Thiết bị Android có đủ hình dạng, kích thước và màu sắc. Các thông số kỹ thuật chính bao gồm kích thước màn hình, thời lượng pin, chất lượng camera và hiệu suất tổng thể. Trên hết, có một số tính năng hữu ích cũng cần phải suy nghĩ, như chế độ rảnh tay hoặc thậm chí nhận dạng dấu vân tay.

Mua, tựa vào, bám vào

Bạn đã quyết định mình muốn thiết bị nào chưa? Có 2 cách để mua hàng - trực tuyến hoặc tại cửa hàng điện tử và máy tính địa phương của bạn.

Tránh các quảng cáo có vấn đề hoặc giá thầu không đáng tin cậy. Vì nhu cầu thiết bị Android rất cao và theo quy luật, có những người bán và kẻ lừa đảo vô đạo đức, đặc biệt là trên Internet, những người muốn lợi dụng sự chú ý và tin tưởng của bạn. Chúng tôi khuyên bạn chỉ nên mua hàng từ một người bán nổi tiếng và đáng tin cậy.

    Một số mẫu máy tính bảng Android có thể thiếu một số trong danh sách trên.

    Tất cả các máy tính bảng "android" đều được điều khiển bởi một trong các phiên bản của hệ điều hành di động của Google. Tuy nhiên, các phiên bản cũ hơn có thể không hỗ trợ một số ứng dụng hiện đại.

    Tất cả các phiên bản của hệ điều hành di động phổ biến nhất đều có một nền tảng chung. Chúng ta có thể coi hệ điều hành Android như một cấu trúc nhiều lớp. Các kỹ sư máy tính gọi đây là ngăn xếp phần mềm. Các mục ở đầu ngăn xếp đại diện cho những gì người dùng nhìn thấy khi tương tác với hệ điều hành. Ở cuối ngăn xếp là những phần của hệ điều hành tương tác trực tiếp với phần cứng của thiết bị.

    Vì vậy, ở cấp thấp nhất là bản thân các thành phần phần cứng: bộ xử lý, cảm biến, dây dẫn và bảng mạch in. Lớp tiếp theo là nhân hệ điều hành. Kernel đôi khi còn được gọi là phần mềm nhúng (hoặc độc quyền). Định nghĩa tiếng Anh của “phần sụn” được biết đến nhiều hơn. Phần mềm này giám sát, quản lý và phân bổ tài nguyên phần cứng trên thiết bị.

    Phần này của hệ điều hành "dịch" sang ngôn ngữ của các thành phần phần cứng những lệnh mà người dùng đưa ra thông qua một giao diện đồ họa thuận tiện. Kernel cho Android là hệ điều hành mã nguồn mở Linux 2.6.

    Bên trên lõi của hệ điều hành là các thư viện Android. Chúng là tập hợp các hướng dẫn mà một thiết bị tuân theo khi xử lý các loại dữ liệu khác nhau. Một ví dụ là thư viện định hướng 3D. Nó chứa tất cả các hướng dẫn mà thiết bị Android cần để nhận ra và phản hồi với những thay đổi về vị trí của nó trong không gian.

    Ở cùng cấp độ của ngăn xếp phần mềm là các thư viện gốc cần thiết để hỗ trợ các ứng dụng được viết bằng ngôn ngữ Java. Java là một ngôn ngữ lập trình của Sun Microsystems. Gần đây, điện thoại hỗ trợ các ứng dụng Java rất phổ biến. Hiện nay, chúng ngày càng bị thay thế bởi điện thoại thông minh.

    Máy ảo Android nằm ở cùng cấp của ngăn xếp phần mềm hệ điều hành. Phần mềm này liên quan đến việc tạo ra một môi trường hoạt động ảo, còn được gọi là môi trường hoạt động ảo. Máy ảo mô phỏng một thiết bị vật lý có hệ điều hành riêng biệt. Google thiết kế lớp này để mỗi ứng dụng chạy trên hệ điều hành Android hoạt động như một quá trình riêng biệt. Do đó, nếu một trong các tiến trình đang chạy gặp sự cố, phần còn lại sẽ không bị ảnh hưởng. Máy ảo cũng hoạt động như một trình quản lý bộ nhớ.

    Cấp độ tiếp theo là khung ứng dụng. Nó là cơ sở cho tất cả các ứng dụng của thiết bị "android". Cơ sở hạ tầng ứng dụng là liên kết giữa các ứng dụng và phần còn lại của hệ điều hành.

    Google khuyến khích các nhà phát triển tạo các ứng dụng tương tác với lớp này trong khuôn khổ của giao diện lập trình ứng dụng () được phát triển bởi hệ điều hành của gã khổng lồ tìm kiếm. Các nhà phát triển chỉ cần tự làm quen với các quy tắc liên quan đến API này. Họ không cần phải suy nghĩ về các đặc tính kỹ thuật của mỗi máy tính bảng "android".

    Lớp trên cùng của ngăn xếp phần mềm chứa giao diện người dùng và tất cả các ứng dụng trên máy tính bảng "android". Đó là một phần của hệ điều hành mà người dùng liên tục nhìn thấy trước mặt anh ta. Nhưng đằng sau lớp hấp dẫn và đầy màu sắc này có rất nhiều đoạn mã nhàm chán chỉ dành cho các chuyên gia.

    Giống như bất kỳ hệ điều hành nào khác và các tài nguyên phần cứng khác của máy tính bảng.

    Dựa trên tư liệu từ computer.howstuffworks.com