iOS/iPadOS so với Android: Cuộc chiến của các hệ điều hành di động

Cập nhật lần cuối: 19 Tháng Mười Hai 2023
tác giả: Jamie Herrera
iOS/iPadOS so với Android

Trong thế giới cạnh tranh của các hệ điều hành di động, cuộc chiến giữa Apple iOS/iPadOS và Google Android đã là nguồn tranh luận và sở thích liên tục giữa những người dùng, mặc dù nhiều Các so sánh đã tập trung nhiều hơn vào hệ điều hành máy tính để bàn.

Mỗi hệ thống này đều mang đến những trải nghiệm độc đáo và các tính năng nổi bật, từ thiết kế đến chức năng. Trong bài viết này, chúng ta sẽ cùng tìm hiểu so sánh kỹ thuật chi tiết giữa iOS/iPadOS và Android, xem xét các khía cạnh kỹ thuật hơn của họ, để hiểu rõ họ từ bên trong và do đó giúp ích cho việc lựa chọn theo một cách nào đó, mặc dù không dựa vào sự thiên vị...

IOS là gì?

iOS (trước đây là iPhone OS) Đây là hệ điều hành di động do Apple Inc. phát triển độc quyền cho các thiết bị của mình. Hệ điều hành này hiện diện trên các thiết bị iPhone và iPod Touch (đã ngừng sản xuất vào giữa năm 2022). Đây là hệ điều hành di động được sử dụng rộng rãi thứ hai trên thế giới, sau Android.

Nó cũng là nền tảng cho ba hệ điều hành khác do Apple tạo ra: iPadOS, tvOS và watchOS. Và mặc dù là phần mềm độc quyền, một số phần là phần mềm nguồn mở theo Giấy phép nguồn công cộng của Apple và các giấy phép khác.

Fue phát hành năm 2007 cho chiếc iPhone đầu tiênKể từ đó, iOS đã được mở rộng để hỗ trợ các thiết bị Apple khác, chẳng hạn như iPod Touch (tháng 2007 năm 2010) và iPad (ra mắt tháng 2010 năm 2018, có sẵn vào tháng 2.1 năm 130). Tính đến tháng 17 năm 18, Apple App Store chứa hơn 2023 triệu ứng dụng iOS, trong đó có một triệu ứng dụng gốc dành cho iPad. Các ứng dụng di động này đã được tải xuống tổng cộng hơn XNUMX tỷ lần. Các phiên bản chính của iOS được phát hành hàng năm, và phiên bản ổn định hiện tại, iOS XNUMX, đã được phát hành rộng rãi vào ngày XNUMX tháng XNUMX năm XNUMX.

Tuy nhiên, nguồn gốc của nó bắt nguồn từ hai năm trước đó, kể từ năm 2005, Steve Jobs bắt đầu lên kế hoạch cho iPhone tương lai, ông phải tổ chức nhóm phát triển hệ điều hành mới, trong đó ông sẽ tập hợp cả nhóm phát triển macOS và iPod, lần lượt do Scott Forstall và Tony Fadell dẫn đầu, trong một cuộc thi nội bộ để cố gắng tạo ra một macOS thu gọn hoặc cố gắng mở rộng hệ thống iPod.

Forstall đã giành chiến thắng bằng cách tạo ra Hệ điều hành iPhone, điều này đã giúp iPhone thành công như một nền tảng cho các nhà phát triển bên thứ ba. Hệ điều hành này được ra mắt cùng với iPhone tại Hội nghị & Triển lãm Macworld vào ngày 9 tháng 2007 năm XNUMX và phát hành vào tháng XNUMX năm đó.

Cấp phép và phát triển

Mặc dù iOS/iPadOS là hệ điều hành đóng cửa hoặc độc quyền, được cấp phép bởi Apple. Ngoài ra còn có một số phần mã nguồn mở liên quan đến hệ thống này, chẳng hạn như Darwin, được cấp phép theo Giấy phép Nguồn Công cộng Apple (APSL), một giấy phép miễn phí và mã nguồn mở, mặc dù nó không tương thích với GNU GPL.

Apple đã làm cho hạt nhân XNU trở thành mã nguồn mở theo giấy phép BSD Điều khoản 3 áp dụng cho các phần gốc được kế thừa từ hệ thống BSD, trong khi các phần do Apple thêm vào được cấp phép theo APSL. Tuy nhiên, các phiên bản kernel trên iOS không được công bố rộng rãi.

Đối với phát triển, ngôn ngữ lắp ráp được sử dụng cho một số thứ trong hạt nhân, cũng như ngôn ngữ lập trình C, C++, Objective-C và Swift Về ứng dụng, như bạn đã biết. Mọi thứ liên quan đến hệ điều hành đều do chính Apple phát triển; tuy nhiên, ứng dụng của bên thứ ba được phát triển bởi nhiều cá nhân, nhóm và công ty khác nhau.

Để giúp các nhà phát triển dễ dàng tạo ra các ứng dụng tương thích hơn, Apple đã có iOS SDK (Bộ phát triển phần mềm)Ban đầu, CEO của Apple, Steve Jobs, không có kế hoạch cho phép các nhà phát triển bên thứ ba tạo ra các ứng dụng iOS gốc, nhưng sau áp lực từ các nhà phát triển, ông đã thông báo vào tháng 2007 năm 2008 rằng bộ công cụ phát triển phần mềm sẽ có sẵn vào tháng XNUMX năm XNUMX. Có lẽ quyết định này đã cứu hệ điều hành, vì nếu không có nó, hệ sinh thái ứng dụng dành cho iOS sẽ rất kém và Android sẽ sụp đổ.

SDK có sẵn cho macOS. Nó cung cấp quyền truy cập vào nhiều tính năng và dịch vụ của thiết bị iOS/iPadOS, cũng như trình mô phỏng cho các thiết bị di động này để thử nghiệm ứng dụng trong quá trình phát triển. Đăng ký Chương trình nhà phát triển của Apple Để thử nghiệm, nhận hỗ trợ kỹ thuật và phân phối ứng dụng thông qua App Store, bạn phải trả một khoản phí cao hơn nhiều so với phí phát hành trên Google Play.

En thiết lập với XcodeBộ công cụ phát triển phần mềm iOS (SDK) giúp các nhà phát triển viết ứng dụng iOS bằng các ngôn ngữ lập trình được hỗ trợ chính thức, chẳng hạn như Swift và Objective-C. Các công ty khác cũng đã tạo ra các công cụ cho phép phát triển ứng dụng gốc cho các hệ thống này bằng ngôn ngữ lập trình tương ứng của họ.

Lõi hoặc hạt nhân

Hạt nhân iOS/iPadOS là hạt nhân XNU (XNU không phải là Unix). Các phiên bản XNU dựa trên các phiên bản khác nhau của Darwin và hạt nhân được thiết kế theo ASLR (Ngẫu nhiên hóa bố cục không gian địa chỉ), điều này làm phức tạp khả năng khai thác lỗ hổng do không biết địa chỉ bộ nhớ nơi hạt nhân nằm, một tính năng mà chúng ta cũng có trong Linux cùng nhiều hệ điều hành khác.

iOS không có tiện ích mở rộng hạt nhân (kexts) Trong hệ thống tệp, ảnh kernel cơ sở được bộ nạp khởi động (iBoot) ngẫu nhiên hóa, và theo thời gian, các phiên bản kernel của iOS/iPadOS và macOS đã hội tụ, khi iOS giới thiệu các tính năng mới sau đó cũng được tích hợp vào macOS. Apple dường như đang dần hợp nhất các kernel, nhằm đạt được sự hội tụ mà Microsoft và thậm chí cả Canonical trong thế giới Linux đã mong muốn từ lâu, hoặc để đạt được điều gì đó tương tự như ChromeOS của Google.

XNU được Apple Inc. phát triển từ tháng 1996 năm XNUMX để sử dụng trên hệ điều hành macOS và được phát hành dưới dạng phần mềm mã nguồn mở miễn phí như một phần của Hệ điều hành Darwin. Và sau này nó cũng là nền tảng cho các hệ điều hành còn lại của công ty.

Đối với những người vẫn chưa biết Darwin là gì, thì đó là hệ điều hành trung tâm giống Unix ban đầu tồn tại như một hệ điều hành nguồn mở độc lập và bao gồm mã bắt nguồn từ NeXTSTEP, BSD, Mach và các dự án phần mềm miễn phí khác, cũng như mã do chính Apple phát triển.

Là một hạt nhân lai sử dụng OSFMK 7.3 (Open Software Foundation Mach Kernel) từ OSF, các thành phần của FreeBSD và giao diện lập trình trình điều khiển hướng đối tượng gọi là I/O Kit. Thiết kế lai này kết hợp tính linh hoạt của microkernel với hiệu suất của một kernel nguyên khối.

Môi trường phát triển XCode, mặc dù rõ ràng là độc quyền của Apple, nhưng lại sử dụng các công cụ nguồn mở từ GCC hoặc LLVM để biên dịch thực tế.

Phải nói rằng mặc dù XNU tương thích với kiến ​​trúc AMD64 và IA-32, nhưng cuối cùng nó đã được chuyển sang Apple Silicon (ARM), và hiện tại việc hỗ trợ các kiến ​​trúc cũ hơn đã bị loại bỏ để tinh giản kiến ​​trúc. Hơn nữa, kiến ​​trúc x86 sẽ không phù hợp trên thiết bị di động, như trường hợp này. Nhưng chúng ta sẽ nói thêm về điều đó sau...

Phần BSD của hạt nhân cung cấp giao diện lập trình cho Ứng dụng POSIX (API), mô hình quy trình Unix cho các tác vụ Mach, chính sách bảo mật cơ bản, hệ thống tệp ảo, hệ thống tệp cục bộ và giao thức mạng, cùng nhiều tính năng khác. I/O Kit là một khung trình điều khiển thiết bị được viết bằng một tập hợp con của C++ dựa trên Embedded C++. Nó cung cấp thiết kế hướng đối tượng giúp viết trình điều khiển dễ dàng hơn với thời gian và mã ngắn hơn, đa luồng, hỗ trợ đa bộ xử lý đối xứng và cho phép cấu hình thiết bị tự động.

Kiến trúc được hỗ trợ

Cái gọi là Apple Silicon, cả trong dòng M dành cho máy tính và trong A-Series dành cho thiết bị di động, cùng với các dòng sản phẩm khác, đều dựa trên kiến ​​trúc ARM hoặc ISA, nhưng không phải là ARM thuần túy. Apple cũng đã bổ sung các hướng dẫn và tiện ích mở rộng riêng để tối ưu hóa hiệu suất theo nhu cầu. XNU đã được tối ưu hóa cho ISA này, đạt được hiệu suất và hiệu quả tốt nhất.

Có nghĩa là, Apple tùy chỉnh CPU của mình, mặc dù về bản chất nó là một CÁNH TAY ISA gần như hoàn toàn. Tuy nhiên, những khác biệt nhỏ này, cùng với thực tế là nó là một SoC phức tạp với các thành phần khác liên quan, là lý do tại sao các tệp nhị phân được biên dịch cho ARM thuần túy không hoạt động trên các thiết bị này.

  Máy tính bảng LTE so với máy tính bảng chỉ có Wi-Fi: Nên chọn loại nào? Tìm lựa chọn phù hợp nhất với nhu cầu của bạn.

Về cơ bản, chip Apple dựa trên ARMv8 hiện tại, mặc dù ARMv7-A và ARMv6 cũng đã được sử dụng trước đây.

Hệ thống tập tin APFS

Táo File System (APFS) Đây là hệ thống tệp độc quyền được Apple Inc. phát triển và sử dụng trong macOS, cũng như iOS, watchOS, tvOS và iPadOS. APFS được thiết kế để giải quyết các vấn đề cơ bản của HFS+ và đã được tối ưu hóa cho các ổ đĩa lưu trữ flash mới hơn.

Được công bố tại hội nghị nhà phát triển của Apple vào tháng 2016 năm 64. Hệ thống sử dụng số i-node XNUMX bit và cung cấp lưu trữ an toàn hơnAPFS sử dụng lệnh TRIM để quản lý không gian và hiệu suất tốt hơn. Nó sử dụng sơ đồ phân vùng GPT, với các vùng chứa APFS và ổ đĩa APFS bên trong. Nó cung cấp khả năng sao chép hiệu quả, ảnh chụp nhanh, mã hóa gốc và hỗ trợ nhiều tùy chọn mã hóa. Nó cũng tập trung vào tính toàn vẹn dữ liệu, bảo vệ chuyển đổi dự phòng và nén trong suốt. Tuy nhiên, một số hạn chế bao gồm thiếu tổng kiểm tra cho dữ liệu người dùng, hiệu suất ổ cứng chậm hơn và các sự cố hoặc lỗ hổng đã biết.

Giao diện đồ họa

Mặc dù chưa có thông tin chi tiết về tên gọi của giao diện người dùng đồ họa (GUI) dành cho màn hình cảm ứng đa điểm, tương tự như tên gọi của macOS, Aqua. Điều chúng ta biết là nền tảng này đã tồn tại. UIKit, cung cấp nhiều chức năng khác nhau để phát triển ứng dụng, cung cấp các thành phần cho phép bạn xây dựng cơ sở hạ tầng chính của ứng dụng cho các hệ điều hành này.

UIKit cũng hỗ trợ hoạt ảnh, tài liệu, vẽ và in, quản lý và hiển thị văn bản, tìm kiếm, tiện ích mở rộng ứng dụng, quản lý tài nguyên và thu thập thông tin về thiết bị hiện tại. Nó cho phép bạn tùy chỉnh hỗ trợ trợ năng và bản địa hóa giao diện ứng dụng cho các ngôn ngữ, quốc gia hoặc khu vực văn hóa khác nhau. Ngoài ra, UIKit hoạt động liền mạch với khung SwiftUI, cho phép bạn triển khai các phần của ứng dụng trong SwiftUI hoặc kết hợp các thành phần giao diện giữa hai khung.

Dịch vụ di động của Apple

Không có quá nhiều chi tiết về điều này «Dịch vụ di động của Apple», Trên thực tế, không có tài liệu tham khảo nào về tên gọi này, như trong Android, GMS hay Google Mobile Services. Tuy nhiên, điều chúng ta biết là nó bao gồm một loạt các dịch vụ và ứng dụng cơ bản.

Ngoài các dịch vụ thiết yếu cho điện thoại di động, chúng tôi còn có một bộ ứng dụng được cài đặt sẵn, các cuộc gọi bluilt-inchẳng hạn như Máy ảnh, Ảnh, Tin nhắn, Thư, Safari, Bản đồ, Siri, Lịch, App Store, Danh bạ, Sổ địa chỉ, Đồng hồ, Máy tính, Tìm iPhone của tôi, Tệp, v.v.

Ứng dụng và cửa hàng ứng dụng

Như tôi đã đề cập, cửa hàng ứng dụng mà bạn có thể tải xuống tất cả các chương trình và trò chơi điện tử có sẵn cho nền tảng này được gọi là Apple App Store, như bạn đã biết.

Đối với các ứng dụng có sẵn, chúng rất nhiều và tất cả đều được lập trình trong thành ngữ:

  • Objective-C là một trong những ngôn ngữ lập trình phổ biến nhất để phát triển ứng dụng iPhone. Đây là ngôn ngữ hướng đối tượng dựa trên C, được sử dụng kết hợp với Xcode và Cocoa để tạo ứng dụng iOS. Cocoa là một giao diện lập trình được viết bằng Objective-C, quản lý bộ nhớ và tuân theo mô hình MVC. Mặc dù Objective-C từ lâu đã là chuẩn mực, nhưng vào năm 2010, Apple đã cho phép sử dụng mã thông dịch trong iOS SDK.
  • Ngược lại, Swift là một ngôn ngữ mới hơn được thiết kế để thân thiện với người dùng hơn Objective-C. Nó được coi là tương lai của phát triển ứng dụng iOS và ngày càng phổ biến nhờ tính dễ sử dụng và cú pháp rõ ràng. Các công ty lớn, chẳng hạn như Firefox và WordPress, đã áp dụng Swift, và dự kiến ​​sẽ có thêm nhiều công ty chuyển đổi từ Objective-C sang Swift trong những năm tới.

Hơn nữa, trong khi trên Android các gói được gọi là .apk, trên hệ thống Apple chúng ta có .ipaTên của nó bắt nguồn từ gói App Store của iOS, và nó chỉ đơn giản là một tệp ZIP nén chứa ứng dụng. Và, trừ khi bạn đã bẻ khóa, các ứng dụng được tải xuống từ nguồn của bên thứ ba sẽ không thể được cài đặt trong bất kỳ trường hợp nào vì lý do bảo mật.

Jailbreak

Như bạn có thể đã biết, các hệ điều hành di động như iOS/iPadOS và Android thường bị "khóa" rất nghiêm ngặt - bạn là người dùng không có đặc quyền - để tránh các vấn đề bảo mật. Tuy nhiên, điều này cũng hạn chế khả năng của bạn, và một số người dùng thực hiện "jailbreak" để có được đặc quyền, được gọi là "mở khóa". bẻ khóa, tương đương với root Android.

Kể từ khi ra mắt, iOS đã phải chịu nhiều thủ thuật khác nhau được thiết kế để bổ sung các chức năng không được Apple cho phép. Trước khi App Store iOS ra đời vào năm 2008, lý do chính cho việc bẻ khóa là để bỏ qua cơ chế mua hàng của Apple để cài đặt ứng dụng gốc. Mặc dù Apple tuyên bố không phát hành các bản cập nhật phần mềm được thiết kế riêng để phá vỡ các công cụ này, nhưng mỗi bản cập nhật iOS thường vá các lỗ hổng jailbreak chưa được vá trước đó.

Bẻ khóa liên quan đến khai thác và vá lỗi hạt nhân của thiết bị mỗi khi khởi động, vì iOS ban đầu tải kernel của chính nó khi khởi động. Có nhiều loại jailbreak khác nhau, trong đó jailbreak không cần kết nối (unethered jailbreak) là loại toàn diện nhất, cho phép khởi động lại thiết bị mà không cần máy tính. Jailbreak có kết nối chỉ hoạt động tạm thời cho một lần khởi động. Trong những năm gần đây, các giải pháp bán kết nối (semi-tethered) và bán kết nối (semi-untethered) đã xuất hiện, mang đến những khác biệt về khả năng duy trì các sửa đổi trên thiết bị giữa các lần khởi động lại.

iPadOS là gì? Sự khác biệt giữa iOS và iPadOS

iPadOS Nó vẫn chỉ là một phiên bản iOS được chỉnh sửa dành cho máy tính bảng. Mặc dù hỗ trợ các ứng dụng iOS và chia sẻ phần lớn cơ sở mã với các nền tảng iOS rộng hơn, bao gồm tvOS, watchOS và iOS gốc dành cho iPhone, iPadOS vẫn có một số khác biệt chính về tính năng và khả năng.

Không giống như iOS dành cho iPhone, iPadOS đã được tối ưu hóa để sử dụng trên máy tính bảng và cung cấp các tính năng dành riêng cho máy tính bảng. đa nhiệm và khả năng mở rộngVí dụ, iPadOS hỗ trợ chế độ chia đôi màn hình và có thể hoạt động với màn hình ngoài, những tính năng không có trên iOS dành cho iPhone. Ngoài ra, iPadOS còn hỗ trợ Apple Pencil và có chế độ desktop web gốc, những tính năng không có trên iOS dành cho iPhone.

Mặc dù có những cải tiến này, iPadOS vẫn có một số hạn chế so với iOS dành cho iPhone. Ví dụ: iPadOS không tương thích với Apple Watch và yêu cầu iPhone được kết nối cho các tính năng như gọi điện và iMessages/SMS. Khả năng tương thích của ứng dụng cũng khác nhau, vì iPadOS có thể chạy hầu hết các ứng dụng được thiết kế cho iOS ở chế độ tương thích, nhưng iPhone không thể chạy các ứng dụng được thiết kế riêng cho iPadOS.

Về mặt an ninhiPadOS bao gồm các tính năng hiện đại như xác thực sinh trắc học, lưu trữ dữ liệu an toàn cho mật khẩu và thanh toán, hỗ trợ VPN và IPv6, chặn theo dõi của bên thứ ba, mã hóa sao lưu và lưu trữ đám mây được mã hóa, cùng nhiều tính năng khác.

Về lịch sử của nó, nó có từ ra mắt vào năm 2019, khi Apple quyết định phân biệt trải nghiệm hệ điều hành iPad với iPhone. Qua nhiều năm, những cải tiến đáng kể đã được giới thiệu, chẳng hạn như chế độ Sidecar để sử dụng iPad làm màn hình ngoài, tối ưu hóa chuột và trackpad, cùng các tính năng đa nhiệm mới, chẳng hạn như Stage Manager trong iPadOS 16, cho phép chạy tối đa bốn ứng dụng trên một giao diện màn hình duy nhất.

En Về mặt kinh doanh, iPadOS có thể là một lựa chọn khả thi cho các trường hợp sử dụng cụ thể, chẳng hạn như thay thế máy tính xách tay, ki-ốt làm thủ tục, màn hình hiển thị thông tin tại nơi làm việc hoặc hệ thống điểm bán hàng (POS). Tuy nhiên, tính phù hợp của nó còn tùy thuộc vào trường hợp sử dụng cụ thể, vì iPadOS không thể chạy các ứng dụng máy tính để bàn macOS và bị giới hạn ở các ứng dụng được thiết kế cho nền tảng iOS.

Tóm lại sự khác biệt giữa iOS và iPadOS là những điều sau đây, phần còn lại được chia sẻ:

  Kindle và iPad: Máy nào tốt hơn để đọc sách?
chức năngiOS (iPhone)iPadOS (iPad)
Chia đôi màn hình cho các ứng dụngKhôngVâng
Hỗ trợ màn hình ngoàiKhôngVâng
Sidecar (đầu vào màn hình)KhôngVâng
Tương thích với các ứng dụng dành cho iPadOSKhôngVâng
Tương thích với các ứng dụng iOSVângVâng
Chế độ máy tính để bàn miễn phíKhôngVâng
Giá đỡ Apple WatchVângKhông
Điện thoạiVângVâng
iMessage/SMSVângVâng
Giao diện Dock trên màn hình chínhKhôngVâng
Video hình trong hình (PiP)VângVâng
Safari ở chế độ máy tính để bànKhôngVâng
Kết nối 4G / 5GVângCó (một số phiên bản)
VoIP / hội nghị truyền hìnhVângVâng
Bảo mật sinh trắc họcVângVâng
Băng thông cực rộng (UWB)VângVâng
Chế độ kiosk (Chế độ ứng dụng đơn)VângVâng
Trình quản lý thiết bị di độngVângVâng
Hỗ trợ cho Apple PencilKhôngVâng

Android là gì?

Android Đây là hệ điều hành di động do Google (Alphabet) phát triển dựa trên phiên bản sửa đổi của nhân Linux và các phần mềm nguồn mở khác. Hệ điều hành này chủ yếu được thiết kế cho các thiết bị cảm ứng như điện thoại thông minh và máy tính bảng, mặc dù nó cũng đã được cài đặt trên nhiều thiết bị khác, chẳng hạn như hộp TV, một số máy tính xách tay nhỏ, v.v.

Nó được phát triển bởi Open Handset Alliance, một tập đoàn các nhà phát triển như Google, LG, SoftBank, Telefónica, HTC, Dell, Sony, Intel, Motorola, Qualcomm, Texas Instruments, Samsung Electronics, T-Mobile, NVIDIA, v.v. Ngoài ra, nó còn có một cộng đồng cũng đóng góp hoặc tạo ra các nhánh riêng của mình (Harmony OS của Huawei, Baidu, ColorOS, Replicant, /e/, Lineage OS, Fire OS của Amazon, OxygenOS của Oneplus, Remix OS, v.v.). Nó được giới thiệu vào tháng 2007 năm 2008 và thiết bị thương mại đầu tiên, HTC Dream, được ra mắt vào tháng XNUMX năm XNUMX.

Cốt lõi của hệ điều hành được gọi là Dự án nguồn mở Android (AOSP), là phần mềm miễn phí và mã nguồn mở, chủ yếu theo Giấy phép Apache. Tuy nhiên, hầu hết các thiết bị đều sử dụng phiên bản độc quyền do Google phát triển, bao gồm cả phần mềm mã nguồn đóng, chẳng hạn như Dịch vụ di động của Google (GMS) và tôi sẽ trình bày chi tiết sau.

Android đã là hệ điều hành được sử dụng nhiều nhất trên thế giới kể từ năm 2011. Vượt xa iOS/iPadOS trên không gian di động và cũng vượt qua Windows trên máy tính để bàn với hàng triệu người dùng.

Lịch sử của Android có từ được thành lập vào năm 2003, với mục đích ban đầu là phát triển một hệ điều hành tiên tiến cho máy ảnh kỹ thuật số. Sau khi chuyển hướng tập trung, Google đã mua lại Android vào năm 2005. Kể từ đó, hệ điều hành này đã trải qua nhiều lần cập nhật, áp dụng tên các món tráng miệng theo thứ tự bảng chữ cái, như bạn có thể đã biết...

Ngoài việc cạnh tranh với hệ thống của Apple, nó còn phải đối mặt với các vấn đề khác, chẳng hạn như các vụ kiện bằng sáng chế từ Microsoft, ví dụ, về việc sử dụng Hệ thống tập tin FATTrên thực tế, Microsoft đã kiếm được nhiều tiền từ hệ điều hành này hơn là từ hệ điều hành Windows Phone của riêng mình, vốn đã thất bại hoàn toàn.

Cấp phép và phát triển

Android được Google phát triển cho đến khi những thay đổi và bản cập nhật mới nhất sẵn sàng được phát hành, khi đó mã nguồn sẽ được công bố cho công chúng. Dự án mã nguồn mở Android (AOSP), do Google dẫn đầu như một sáng kiến ​​mã nguồn mở. Mã AOSP được tìm thấy trên một số thiết bị nhất định với những sửa đổi tối thiểu, chủ yếu để hoạt động trên phần cứng cụ thể.

El Mã nguồn Android không bao gồm trình điều khiển thiết bị, những thứ này được thêm vào bởi từng nhà sản xuất thiết bị, thường là độc quyền, cần thiết cho một số thành phần phần cứng nhất định.

Về giấy phép, phải nói rằng Android chủ yếu là mã nguồn mở, theo giấy phép GNU GPLv2 cho nhân Linux và Giấy phép Apache 2.0 cho phần mềm không gian người dùng. Ngoài ra, nó còn có các thành phần miễn phí và độc quyền, chẳng hạn như các blob nhị phân hoặc trình điều khiển do nhà sản xuất thiết bị thêm vào để đảm bảo khả năng tương thích hoặc giống như GMS.

Lõi hoặc hạt nhân

Nhân Android dựa trên các nhánh hỗ trợ dài hạn (LTS) của nền tảng LinuxCho đến năm 2023, Android sử dụng các phiên bản 4.14, 4.19, 5.4, 5.10 hoặc 5.15 của nhân Linux, được điều chỉnh và thường được đặt tên là android13-5.15 hoặc android-4.19-stable, tùy thuộc vào thiết bị cụ thể. Nhân Android có những thay đổi kiến ​​trúc bổ sung được Google triển khai bên ngoài chu kỳ phát triển nhân Linux thông thường.

Những thay đổi này bao gồm giới thiệu các thành phần chẳng hạn như cây thiết bị, Ashmem, ION và nhiều trình xử lý lỗi ngoài bộ nhớ (OOM). Mặc dù Google đã đóng góp một số tính năng nhất định cho nhân Linux, chẳng hạn như tính năng quản lý năng lượng "wakelock", một số đóng góp ban đầu đã bị các nhà phát triển nhân lõi từ chối do lo ngại về khả năng bảo trì lâu dài.

Như bạn có thể biết, hạt nhân Linux thuộc loại nguyên khối, có khả năng tải mô-đun động để hoạt động tương tự như một vi nhân. Do đó, nó không thuần túy như một số tài liệu đề xuất, mà đã phát triển để thích ứng với thời đại thay đổi.

Nhiều người sẽ thắc mắc tại sao Android không phải là bản phân phối GNU/Linux, lý do là vì nó không sử dụng hệ sinh thái GNU mà chỉ dựa trên Linux, và thay thế GNU, nó đã tích hợp shell mksh, một hệ thống tiện ích cốt lõi gốc lấy cảm hứng từ NetBSD, và các thư viện libc Bionic, thay vì Thư viện GNU C (glibc).

Dành cho những ai chưa biết Sinh học, là một nhánh của thư viện chuẩn BSD C do Google phát triển cho Android, tách biệt khỏi các giấy phép GPL và LGPL. Thư viện này tập trung vào việc nhỏ gọn hơn và sử dụng bộ nhớ hiệu quả hơn glibc và uClibc, được khuyến nghị cho việc phát triển Android với Bộ công cụ Phát triển Gốc (NDK). Bionic có những hạn chế, chẳng hạn như thiếu khả năng xử lý ngoại lệ C++, cần phải tự tay thêm Thư viện Mẫu Chuẩn (STL) và thiếu hỗ trợ cho các bộ ký tự mở rộng. Nó cũng bao gồm các hàm dành riêng cho Android trong một số lệnh gọi hệ thống, và kể từ Android Jelly Bean MR1 (4.2), nó hỗ trợ FORTIFY_SOURCE của glibc để ngăn tràn bộ đệm.

Kiến trúc được hỗ trợ

Mặc dù hạt nhân Linux có sẵn cho nhiều kiến ​​trúc, nhưng Android vẫn chỉ mới được chuyển sang. cho x86 và ARMTuy nhiên, công việc cũng đang được tiến hành để mang lại sự hỗ trợ cho RISC-V.

Cụ thể, kể từ khi Android ra mắt, hỗ trợ đã được cung cấp cho các thiết bị ARMv32 7-bit đầu tiên, cũng như các phiên bản ISA hiện đại hơn như phiên bản mới ARMv8 hoặc ARMv9 64-bitTất nhiên, nó hỗ trợ cả IA-32 và AMD64 trên nền tảng x86. Và, như tôi đã nói, hỗ trợ RISC-V hiện cũng đang được bổ sung, điều này sẽ rất thú vị…

Hệ thống tập tin FAT

Android tương thích với nhiều hệ thống tập tin hoặc FS (Hệ thống tập tin), chẳng hạn như sau:

  • FAT32 (Bảng phân bổ tệp 32): Đây là một hệ thống tệp tương thích với nhiều nền tảng khác nhau. Nó có giới hạn về kích thước tệp và phân vùng, phù hợp với các thiết bị có dung lượng lưu trữ nhỏ và nhu cầu cơ bản.
  • Ext3 (Hệ thống tập tin mở rộng thứ ba): Một hệ thống tệp được thiết kế cho hệ thống Linux. Nó cung cấp độ bền và khả năng phục hồi tốt hơn so với phiên bản tiền nhiệm Ext2 bằng cách triển khai ghi nhật ký.
  • Ext4 (Hệ thống tập tin mở rộng thứ tư): Đây là phiên bản mới nhất của dòng Ext dành cho hệ thống Linux. Phiên bản này mang lại hiệu suất được cải thiện và khả năng xử lý các tệp và phân vùng lớn hơn. Nó cũng giữ lại các tính năng ghi nhật ký của Ext3.
  • exFAT (Bảng phân bổ tệp mở rộng): Được phát triển bởi Microsoft, đây là một hệ thống tệp được thiết kế để tương thích với nền tảng Windows và các thiết bị lưu trữ di động. Nó thường được sử dụng trên thẻ nhớ và ổ đĩa flash, đồng thời khắc phục được giới hạn kích thước tệp của FAT32.

Tuy nhiên, hầu hết các thiết bị Android hiện nay đều sử dụng FAT, đặc biệt là exFAT. Đó là lý do tại sao Microsoft đang kiếm được rất nhiều tiền từ việc bán thiết bị Android bằng công nghệ này. Các hệ thống tệp còn lại thường không được sử dụng trên thiết bị di động mà được dành riêng cho Android x86.

Giao diện đồ họa

Thiết kế tài liệu Material Design là một tập hợp các nguyên tắc và hướng dẫn thiết kế do Google phát triển nhằm tạo ra giao diện trực quan nhất quán và hấp dẫn trong các ứng dụng và trang web. Được giới thiệu vào năm 2014, Material Design tập trung vào việc tạo ra trải nghiệm người dùng trực quan và dễ chịu. Material Design dựa trên ý tưởng rằng giao diện phải trông và hoạt động giống nhau trên mọi nền tảng và thiết bị.

  Samsung Galaxy Tab 9+ so với Samsung Galaxy Tab S8+: Phiên bản mới có cải tiến gì?

Mối quan hệ giữa Material Design với GUI (Giao diện người dùng đồ họa) của Android rất chặt chẽ, vì Google đã áp dụng nó như là phương pháp thiết kế tiêu chuẩn dành cho các ứng dụng trên hệ điều hành Android. Material Design cung cấp hướng dẫn chi tiết về cách cấu trúc giao diện, cách sử dụng màu sắc, kiểu chữ, hoạt ảnh và các yếu tố trực quan để tạo ra trải nghiệm mạch lạc và hấp dẫn cho người dùng Android.

Dịch vụ di động của Google

Dịch vụ di động của Google (GMS) Đây là tập hợp các ứng dụng độc quyền và dịch vụ giao diện lập trình ứng dụng (API) của Google, thường được cài đặt sẵn trên các thiết bị Android, bao gồm điện thoại thông minh, máy tính bảng, đồng hồ thông minh, v.v. Điều quan trọng cần lưu ý là GMS không phải là một phần của Dự án Nguồn mở Android (AOSP), nghĩa là nhà sản xuất Android phải xin giấy phép từ Google để cài đặt hợp pháp GMS trên thiết bị Android.

Về các ứng dụng cơ bản Các ứng dụng cốt lõi tạo nên Dịch vụ Di động của Google bao gồm Google Tìm kiếm, Google Chrome, YouTube, Google Play, Google Drive, Gmail, Google Meet, Google Maps, Google Photos, Google TV và YouTube Music. Các ứng dụng cốt lõi này đóng góp đáng kể vào trải nghiệm người dùng trên thiết bị Android và là một phần không thể thiếu trong hệ sinh thái mà Google cung cấp trên các nền tảng di động của mình.

Không phải là một phần của AOSP, MSG này có thể được loại bỏ và thay thế nó bằng các dịch vụ bên thứ ba tương tự khác, đó là những gì Huawei đã làm với HMS của mình sau các lệnh trừng phạt khiến thương hiệu Trung Quốc này không thể sử dụng chúng, hoặc cũng giống như cách họ đã làm trong các hệ thống phái sinh khác, chẳng hạn như Amazon FireOS, sử dụng hệ thống dịch vụ riêng của mình, hoặc như hệ điều hành /e/ dựa trên LineageOS và sử dụng dịch vụ định vị MicroG+Mozilla thay thế cho GMS.

Ứng dụng và cửa hàng ứng dụng

Để bắt đầu, cửa hàng ứng dụng và trò chơi điện tử trong trường hợp này là Google play, một phần của Dịch vụ Google Play được tích hợp vào GMS. Từ cửa hàng này, bạn có thể tải xuống và cài đặt tất cả các loại phần mềm có sẵn cho nền tảng, cũng như kiểm tra bảo mật, cập nhật và nhiều hơn nữa.

Android dựa trên hạt nhân Linux, như tôi đã đề cập trước đó, nhưng với phần mềm trung gian, thư viện và API được viết bằng C và các ứng dụng chạy trên một khuôn khổ ứng dụng bao gồm Thư viện tương thích với JavaNền tảng này sử dụng Android Runtime (ART) làm môi trường thực thi, với trình biên dịch được cài đặt sẵn. Trước ART, Android đã sử dụng Dalvik như một máy ảo được biên dịch tức thời (JIT). Thư viện C chuẩn của Android, Bionic, được thiết kế riêng cho Android, nhẹ hơn glibc và uClibc và được tối ưu hóa cho CPU tần số thấp.

Google đã chuyển ngăn xếp Bluetooth từ BlueZ sang BlueDroid vào năm 2012 vì lý do cấp phép. Hơn nữa, Android không có sẵn Hệ thống X Window và cũng không hỗ trợ đầy đủ bộ thư viện GNU. Trong các phiên bản hiện tại, nó sử dụng Hộp đồ chơi, một tập hợp các tiện ích dòng lệnh và Trusty OS, một hệ điều hành trong Android, cung cấp môi trường thực thi đáng tin cậy cho nhiều ứng dụng, từ thanh toán di động đến phát hiện phần mềm độc hại.

Khi đến quản lý gói hàngTrong trường hợp này, Google Play được sử dụng làm trình quản lý gói, mặc dù bạn có thể cấu hình các tùy chọn bảo mật để chấp nhận các gói từ nguồn của bên thứ ba, với rủi ro tự chịu. Ngoài ra, các cửa hàng ứng dụng khác cũng có thể được cài đặt dưới quyền root.

Các tập tin có thể cài đặt trong trường hợp này là .apk. Tệp APK (Gói Android) Đây là định dạng được hệ điều hành Android sử dụng, thường là tệp JAR. Tệp này có thể được xây dựng từ mã nguồn Java hoặc Kotlin và chứa tất cả các thành phần của một chương trình, chẳng hạn như mã, tài nguyên, chứng chỉ và manifest. Tệp APK có thể được tạo và ký từ Android App Bundle.

Chân răng

Chân răng Trên các thiết bị Android, thuật ngữ này ám chỉ việc giành được quyền truy cập đặc quyền vào hệ điều hành và các phân vùng nhạy cảm, chẳng hạn như /system/, tương đương với việc bẻ khóa Apple. Không giống như các bản phân phối Linux thông thường trên máy tính để bàn, người dùng thiết bị Android không có quyền truy cập root vào hệ điều hành và một số phân vùng chỉ có thể đọc một phần.

Tuy nhiên, quyền truy cập root có thể được lấy bằng khai thác lỗ hổng bảo mật trên Android hoặc mở khóa bộ nạp khởi động. Mở khóa bộ nạp khởi động, có sẵn trên nhiều thiết bị Android, cho phép truy cập root nhưng sẽ xóa toàn bộ dữ liệu người dùng trong quá trình này. Tính năng này được cộng đồng nguồn mở sử dụng để nâng cao khả năng và tùy chỉnh thiết bị, nhưng cũng có thể bị kẻ xấu lợi dụng để cài đặt vi-rút và phần mềm độc hại.

Tóm tắt những điểm khác biệt

thông sốiOS / iPadOSAndroid
Nhà phát triểnApple chịu trách nhiệm hoàn toàn cho việc phát triển. Liên minh thiết bị cầm tay mở (OHA) và Google chịu trách nhiệm phát triển.
phát hành lần đầu2007, cụ thể là ngày 29 tháng XNUMX.2008, cụ thể là ngày 23 tháng XNUMX.
Gia đìnhGiống Unix (XNU – Darwin)Giống Unix (Linux)
Tên của phiên bản đầu tiêniOS 1 / iPadOS 13Android 1.0
Các lĩnh vực mục tiêuDành cho các thiết bị di động như iPhone, điện thoại thông minh Apple và máy tính bảng iPad. Nó cũng có sẵn cho máy nghe nhạc iPod. Dành cho nhiều loại thiết bị, từ điện thoại di động đến điện thoại thông minh và máy tính bảng, đến hộp TV, TV thông minh, máy tính xách tay nhỏ, v.v.
Trình điều khiểniOS và iPadOS chỉ được tối ưu hóa và trình điều khiển được bao gồm cho các thiết bị của Apple. Android hoạt động trên nhiều loại máy và kiểu máy khác nhau, với phần cứng từ nhiều thương hiệu khác nhau, do đó, nó phải bao gồm các trình điều khiển này. Nó mang tính tổng quát hơn.
Hạt nhâniOS và iPadOS có lõi XNU, giống như macOS. Một lõi laiAndroid sử dụng Linux và là hệ điều hành nguyên khối với khả năng tải mô-đun động.
giấy phépiOS/iPadOS sử dụng giấy phép APSL và giấy phép độc quyền (EULA), tùy thuộc vào bên thứ ba.Android được cấp phép theo GNU GPLv2 và các phần khác được cấp phép theo Giấy phép Apache.
Ngôn ngữ lập trìnhCác ngôn ngữ như Objective-C, Swift, C và C++ được sử dụng để phát triển nó.Android sử dụng Java, C và C++, mặc dù các thành phần khác cũng có thể bao gồm các ngôn ngữ khác.
Cập nhậtVới trình quản lý cập nhật OTAVới trình quản lý cập nhật OTA
ứng dụngCác ứng dụng được phát triển bằng Swift.Các ứng dụng được phát triển bằng Kotlin và đặc biệt là Java.
Trình duyệt web mặc địnhSafaricơ rôm
Trợ lý giọng nóiSiriHỗ trợ của Google
An ninhApp Store hoạt động dựa trên hệ thống bảo mật riêng, và các ứng dụng được lọc trước khi xuất bản trên App Store để đảm bảo chúng không độc hại. Tất nhiên, App Store cũng có hệ thống chặn nguồn của bên thứ ba vì lý do bảo mật và hệ thống cấp phép. Nó dựa trên hệ thống bảo mật SELinux, và các ứng dụng được lọc trước khi xuất bản trên Google Play để đảm bảo chúng không độc hại. Tất nhiên, nó có hệ thống chặn các nguồn của bên thứ ba vì lý do bảo mật và hệ thống cấp phép.
ngôn ngữCó sẵn bằng khoảng 24 ngôn ngữ khác nhau.Có sẵn trong hơn 100 ngôn ngữ khác nhau.

iOS/iPadOS so với Android: Ưu điểm và nhược điểm của từng hệ điều hành

Với các chi tiết kỹ thuật được đề cập ở trên, bây giờ bạn sẽ có ý tưởng rõ ràng hơn về ưu điểm và nhược điểm của từng hệ điều hành. Nhưng để giúp bạn dễ dàng hơn khi lựa chọn hệ điều hành phù hợp, sau đây là một số ưu và nhược điểm đáng chú ý nhất của từng hệ điều hành:

  • iOS / iPadOSĐược thiết kế cho mọi loại người dùng, hệ điều hành này rất dễ sử dụng và trực quan, đồng thời an toàn, ổn định và cung cấp số lượng ứng dụng lớn. Tuy nhiên, việc chuyển đổi từ nền tảng này sang nền tảng khác có thể gặp một số khó khăn, vì vậy nếu bạn đã từng sử dụng Android và không cảm thấy không hài lòng, việc chuyển sang hệ sinh thái Apple sẽ cần một số điều chỉnh. Tuy nhiên, cần lưu ý những điểm sau:
    • Advantage:
      • Tối ưu hóa: iOS/iPadOS, được thiết kế dành riêng cho các thiết bị Apple, đảm bảo sự tích hợp tối ưu giữa phần mềm và phần cứng. Điều này khiến chúng trở thành những thiết bị rất nhanh và hiệu quả.
      • Chất lượng:Các ứng dụng và phần cứng thường có chất lượng cao hơn, cũng như có thiết kế độc quyền hơn.
      • an ninh: Cấu trúc khép kín và sự kiểm soát chặt chẽ của App Store góp phần tạo nên một môi trường an toàn hơn về phần mềm độc hại và các mối đe dọa, có thể vượt qua Android, mặc dù không phải là bất khả xâm phạm.
      • Hệ sinh thái tổng hợp: Việc tích hợp liền mạch với các thiết bị Apple khác, chẳng hạn như Mac, iPad, Apple Watch và các dịch vụ như iCloud, mang lại trải nghiệm rất tốt so với việc có một hệ sinh thái không đồng nhất, nơi có lẽ không phải mọi thứ đều hoạt động tốt.
    • Nhược điểm:
      • Tùy chỉnh hạn chế: Việc tùy chỉnh hệ thống và giao diện người dùng bị hạn chế hơn so với Android. Việc bẻ khóa cũng khó khăn hơn đáng kể.
      • Giá cả: Các thiết bị của Apple thường đắt hơn so với các thiết bị Android tương đương.
      • Ít sự đa dạng của các thiết bị: Apple chỉ sản xuất một số lượng thiết bị hạn chế, điều này có thể hạn chế sự lựa chọn của người tiêu dùng, trong khi Android cung cấp nhiều lựa chọn hơn.
  • AndroidĐược thiết kế cho mọi đối tượng người dùng, rất dễ sử dụng và trực quan, cũng như bảo mật, ổn định và có sẵn số lượng ứng dụng lớn, thậm chí còn nhiều hơn cả Apple. Điều này cũng đúng nếu bạn đã quen với môi trường Apple hoặc có các thiết bị Apple khác ở nhà, tốt nhất nên chọn iOS/iPadOS để dễ dàng và tích hợp. Ngoài ra, cần lưu ý những điểm sau:
    • Advantage:
      • Nhiều loại thiết bị: Android có sẵn trên nhiều loại thiết bị từ nhiều nhà sản xuất khác nhau, cung cấp nhiều lựa chọn cho các ngân sách và sở thích khác nhau.
      • Tùy chỉnh nâng cao: Người dùng có nhiều quyền tự do hơn trong việc tùy chỉnh giao diện người dùng và điều chỉnh cài đặt theo sở thích. Ngoài ra, bạn sẽ tìm thấy các ứng dụng như trình khởi chạy và nhiều tính năng khác không yêu cầu root để hoạt động bình thường.
      • Mã nguồn mở: Vì là mã nguồn mở nên nó có thể mang lại sự tin cậy hơn và bạn thậm chí có các ROM với hạt nhân không có blob nhị phân, các phiên bản có cải tiến về bảo mật và quyền riêng tư, không có GMS, v.v.
      • Dịch vụ của Google: Apple không có nhiều dịch vụ đa dạng như Google, và một số dịch vụ đã bị đánh bại, chẳng hạn như Maps so với Google Maps. Ví dụ: trên các thiết bị này, bạn sẽ thấy tích hợp mặc định với Gmail, GDrive, YouTube, Maps, Chrome, GBoard, Lens, Play Music, Photos, v.v.
    • Nhược điểm:
      • Phân mảnh: Sự phân mảnh hệ điều hành có thể dẫn đến trải nghiệm người dùng không nhất quán, vì các nhà sản xuất tung ra các bản cập nhật theo tốc độ riêng của họ. Tuy nhiên, các thương hiệu thiết bị di động lớn như Google, Samsung và các hãng khác lại không gặp bất kỳ sự cố nào.
      • Bảo mật biến đổi: Do sự đa dạng của các thiết bị và nhà sản xuất, tính bảo mật có thể khác nhau, đặc biệt là trên các thiết bị cũ hoặc cấp thấp.
      • Tối ưu hóa nhỏ: Vì phải hoạt động trên nhiều thiết bị khác nhau nên nó không được tối ưu hóa cho bất kỳ thiết bị cụ thể nào, điều này có thể dẫn đến tình trạng phân tán các chức năng không hoạt động trên tất cả các thiết bị.

Tất nhiên, bạn đã biết rằng việc lựa chọn giữa iOS và Android sẽ phụ thuộc vào sở thích cá nhân của người dùng và các yếu tố như ngân sách, khả năng tùy chỉnh mong muốn và sở thích đối với một hệ sinh thái cụ thể…