# Nền tảng máy tính

**Nền tảng máy tính**, **Nền tảng điện toán** hoặc **nền tảngkỹ thuật số** là môi trường trong đó một phần mềm được thực thi. Nó có thể là phần cứng hoặc hệ điều hành, thậm chí là trình duyệt web và các giao diện lập trình ứng dụng liên quan hoặc phần mềm cơ bản khác, miễn là mã chương trình được thực thi với nó. Các nền tảng điện toán có các mức độ trừu tượng khác nhau, bao gồm kiến trúc máy tính, hệ điều hành hoặc thư viện runtime. Một nền tảng điện toán là giai đoạn mà các chương trình máy tính có thể chạy.

Một nền tảng có thể được xem như là một hạn chế trong quy trình phát triển phần mềm, trong đó các nền tảng khác nhau cung cấp các chức năng và hạn chế khác nhau; và như một sự trợ giúp cho quá trình phát triển, trong đó họ cung cấp chức năng cấp thấp đã sẵn sàng. Ví dụ, hệ điều hành có thể là một nền tảng trừu tượng hóa các khác biệt cơ bản về phần cứng và cung cấp một lệnh chung để lưu file hoặc truy cập mạng.

## Thành phần

Nền tảng cũng có thể bao gồm:

* Phần cứng đơn, trong trường hợp các hệ thống nhúng nhỏ. Hệ thống nhúng có thể truy cập phần cứng trực tiếp mà không cần hệ điều hành; điều này được gọi là chạy trên "bare metal".
* Một trình duyệt trong trường hợp phần mềm dựa trên web. Trình duyệt tự chạy trên nền tảng phần cứng+hệ điều hành, nhưng điều này không liên quan đến phần mềm chạy trong trình duyệt.
* Một ứng dụng, chẳng hạn như bảng tính hoặc trình xử lý văn bản, lưu trữ phần mềm được viết bằng ngôn ngữ kịch bản dành riêng cho ứng dụng, chẳng hạn như macro Excel. Điều này có thể được mở rộng để viết các ứng dụng chính thức với bộ Microsoft Office làm nền tảng.
* Frameworks phần mềm cung cấp chức năng làm sẵn.
* Điện toán đám mây và Nền tảng như một Dịch vụ. Mở rộng ý tưởng về frameworks phần mềm, những điều này cho phép các nhà phát triển ứng dụng xây dựng phần mềm từ các thành phần được lưu trữ không phải bởi nhà phát triển, mà bởi nhà cung cấp, với giao tiếp internet liên kết chúng với nhau. Các trang mạng xã hội Twitter và Facebook cũng được coi là nền tảng phát triển.
* Một máy ảo (VM) như máy ảo Java hoặc.NET CLR. Các ứng dụng được biên dịch thành một định dạng tương tự như mã máy, được gọi là mã byte, sau đó được VM thực thi.
* Một phiên bản ảo hóa của một hệ thống hoàn chỉnh, bao gồm phần cứng, hệ điều hành, phần mềm và lưu trữ được ảo hóa. Ví dụ, những thứ này cho phép một chương trình Windows điển hình chạy trên máy Mac.

Một số kiến trúc có nhiều lớp, với mỗi lớp đóng vai trò là nền tảng cho lớp bên trên nó. Nói chung, một thành phần chỉ phải được điều chỉnh cho lớp ngay bên dưới nó. Chẳng hạn, một chương trình Java phải được viết để sử dụng máy ảo Java (JVM) và các thư viện liên quan làm nền tảng nhưng không phải điều chỉnh để chạy cho các nền tảng Windows, Linux hoặc Macintosh OS. Tuy nhiên, JVM, lớp bên dưới ứng dụng, phải được xây dựng riêng cho từng HĐH.

## Ví dụ về Hệ diều hành

### Desktop, laptop, server

* AmigaOS, AmigaOS 4
* FreeBSD, NetBSD, OpenBSD
* IBM i
* Linux
* Microsoft Windows
* OpenVMS
* Classic Mac OS
* macOS
* OS/2
* Solaris
* Tru64 UNIX
* VM
* QNX
* z/OS

### Mobile

Android, một hệ điều hành mobile phổ biến
* Android
* Bada
* BlackBerry OS
* Firefox OS
* iOS\* Embedded Linux
* Palm OS
* Symbian
* Tizen
* WebOS
* LuneOS
* Windows Mobile
* Windows Phone

## Phần mềm framework

* Binary Runtime Environment for Wireless (BREW)
* Cocoa
* Cocoa Touch
* Common Language Infrastructure (CLI)
	+ Mono
	+ .NET Framework
	+ Silverlight
* Flash
	+ AIR
* GNU
* Nền tảng Java
	+ Java ME
	+ Java SE
	+ Java EE
	+ JavaFX
	+ JavaFX Mobile
* LiveCode
* Microsoft XNA
* Mozilla Prism, XUL và XULRunner
* Open Web Platform
* Oracle Database
* Qt
* SAP NetWeaver
* Shockwave
* Smartface
* Universal Windows Platform
	+ Windows Runtime
* Vexi

## Ví dụ về phần cứng

Được sắp xếp đại khái, từ các loại phổ biến hơn đến các loại ít phổ biến hơn:

* Nền tảng điện toán hàng hóa
	+ Wintel, nghĩa là Intel x86 hoặc [[Phần cứng|phần cứng máy tính cá nhân]] tương thích với hệ điều hành Windows
	+ Macintosh, phần cứng tùy chỉnh của Apple Inc. và hệ điều hành MacOS cổ điển và hệ điều hành macOS, ban đầu là 68k, sau đó dựa trên PowerPC, giờ đã chuyển sang x86
	+ Thiết bị di động dựa trên kiến trúc ARM
		- Điện thoại thông minh iPhone và máy tính bảng iPad chạy iOS, cũng từ Apple
		- Gumstix hoặc Raspberry Pi máy tính thu nhỏ đầy đủ chức năng với Linux
		- Các thiết bị Newton chạy hệ điều hành Newton, cũng từ Apple
	+ x86 với các hệ thống tương tự Unix như các biến thể Linux hoặc BSD
	+ Máy tính CP/M dựa trên bus S-100, có thể là nền tảng máy vi tính sớm nhất
* Máy chơi game video, bất kỳ loại nào (PlayStation, Xbox, Nintendo)
	+ 3DO Interactive Multiplayer, được cấp phép cho các nhà sản xuất
	+ Apple Pippin, một nền tảng trình phát đa phương tiện để phát triển bảng điều khiển trò chơi video
* Các máy dựa trên bộ xử lý RISC chạy các biến thể Unix
	+ Máy tính kiến trúc SPARC chạy hệ điều hành Solaris hoặc illumos
	+ DEC Alpha cluster chạy OpenVMS hoặc Tru64 UNIX
* Máy tính trung với hệ điều hành tùy chỉnh của chúng, chẳng hạn như IBM OS/400
* Máy tính lớn với hệ điều hành tùy chỉnh của chúng, chẳng hạn như IBM z/OS
* Kiến trúc siêu máy tính

## Xem thêm

* Đa nền tảng
* Nền tảng ảo hóa
* Nền tảng thứ ba

## Chú thích

khs

## Liên kết ngoài

* Ryan Sarver: Nền tảng là gì? Lưu trữ ngày 26 tháng 8 năm 2018 tại Wayback Machine