Native (computing): Difference between revisions

Content deleted Content added
Cloud computing: Remove low-value words ... and debatable info
Removed machine code section since is quite far off topic
 
(One intermediate revision by the same user not shown)
Line 1:
{{see also|Native and format}}
{{Short description|Software designedthat tooperates rundirectly onin a particulargiven operating systemcontext}}
{{Original research|date=February 2023}}
'''Native''' describes a computing system as operating directly with an underlying technology; with no intervening communication or translation layers.
'''Native''' software is [[software build|built]] to be [[Execution (computing)|executed]] directly by [[Processor (computing)|processors]] that implement a compatible [[instruction set]].<ref>{{Cite web|url=https://searchapparchitecture.techtarget.com/definition/native-code|title=What is native code? - Definition from WhatIs.com|website=SearchAppArchitecture|language=en|access-date=2019-11-22}}</ref>
 
== Native software ==
A program that runs natively on one platform is runnable on another platform via an [[emulator]] if an emulator is available and, generally, with significant runtime speed degradation.<ref>{{Cite web|url=https://www.makeuseof.com/tag/how-does-emulation-work/|title=How Does Emulation Work and Why Is It So S
 
'''Native''' software is [[software build|built]] to be [[Execution (computing)|executed]] directly by [[Processor (computing)|processors]] that implement a compatible [[instruction set]].<ref>{{Cite web|url=https://searchapparchitecture.techtarget.com/definition/native-code|title=What is native code? - Definition from WhatIs.com|website=SearchAppArchitecture|language=en|access-date=2019-11-22}}</ref> A program that runs natively on one platform is runnable on another platform via an [[emulator]] if an emulator is available and, generally, with significant runtime speed degradation.<ref>{{Cite web|url=https://www.makeuseof.com/tag/how-does-emulation-work/|title=How Does Emulation Work and Why Is It So S
|website=MakeUseOf|language=en-US|access-date=2018-11-22}}</ref> For example, games for a [[Game Boy]] (typically distributed as a [[ROM cartridge|cartridge]]), generally run natively on a Game Boy which is relatively incompatible with other computer platforms.<ref>{{Cite web|url=http://www.computinghistory.org.uk/det/4033/Nintendo-Game-Boy/|title=Nintendo Game Boy - Game Console - Computing History|website=www.computinghistory.org.uk|access-date=2019-11-22}}</ref> To run such a game on another processor, software that emulates the Game Boy hardware is required.<ref>{{Cite web|url=https://www.howtogeek.com/347530/the-importance-of-emulation-for-games-preservation/|title=Why Are Video Game Emulators So Important? (Because They Preserve Our History)|last=Pot|first=Justin|website=How-To Geek|language=en-US|access-date=2019-11-22}}</ref>
 
[[Cross-platform software]] can run on multiple processors although possibly requiring it to be re-built for different target systems.
 
== ApplicationNative API ==
A native [[application software|applicationprogramming interface]] uses(API) provides thedirect minimalaccess numberto ofan softwareunderlying layerstechnology. For example, the [[Windows]] [[Native API]] is an [[application programming interface]] specific for the [[Windows NT]] kernel, which provides access to some kernel functions which cannot be directly accessed through the more universal [[Windows API]].
 
== Operating system ==
A native [[operating system]] implies the absence of virtualization or virtualization at its lowest level. For example, with multiple levels of virtualization, the lowest level operating system {{endash}} the one that actually maintains direct control of the hardware {{endash}} is referred to as a "Native VM".
 
== MachineNative codeVM ==
A native [[operatingvirtual systemmachine]] implies(VM) theruns absencedirectly ofon hardware; without virtualization or virtualization at its lowest level. For example, with multiple levels of virtualization, the lowest level operating system {{endash}} the one that actually maintains direct control of the hardware {{endash}} is referred to as a "Native VM".
{{expand section|date=February 2012}}
[[Machine code]], also known as native code, is a program which is written in machine language. Machine code is usually considered the lowest level of code for a computer, that, in its lowest level form, is written in binary (0s and 1s), but is often written in [[hexadecimal]] or [[octal]] to make it a little easier to handle.<ref>{{Cite web|url=https://marketbusinessnews.com/financial-glossary/machine-code/|title=What is machine code? Definition and examples|website=Market Business News|language=en-US|access-date=2019-11-23}}</ref> These [[Instruction Sets|instruction sets]] are then interpreted by the computer. With this, there is no need for translation. machine code is strictly numerical and usually isn't what programmers program in, due to this complex nature.<ref>{{Cite web|url=https://marketbusinessnews.com/financial-glossary/machine-code/|title=What is machine code? Definition and examples|website=Market Business News|language=en-US|access-date=2019-11-23}}</ref> Machine code is also as close as you can get to the [[Processor (computing)|processor]], so using this language, you are programming specifically for that processor as machine code for each processor may differ.<ref>{{Cite web|url=https://www.webopedia.com/TERM/M/machine_language.html|title=What is Machine Language? Webopedia Definition|last=Beal|first=Vangie|website=www.webopedia.com|language=en|access-date=2019-11-23}}</ref> Typically [[programmer]]s will code in [[High-level programming language|high-level languages]] such as [[C (programming language)|C]], [[C++]], [[Pascal (programming language)|Pascal]], (or other directly compiled languages) which gets translated into [[Assembly language|assembly code]], which then translates it into machine code (or in most cases the compiler generates machine code directly). Since each [[Central processing unit|CPU]] is different, programs need to be recompiled or rewritten in order to work on that CPU.<ref>{{Cite book|url=https://books.google.com/books?id=b5x_NHo5g2oC&q=Programs+must+be+rewritten+or+recompiled%2C+therefore%2C+to+run+on+different+types+of+computers.&pg=PA365|title=Information Technology in Business|last=Manzoor|first=Amir|date=2012-03-19|publisher=Amir Manzoor|isbn=978-1-4699-9188-7|language=en}}</ref>
 
== DataNative data ==
{{expand section|date=February 2012}}
Applied to [[data (computing)|data]], native [[data type|data formats]] or [[communication protocol]]s are those supported by a certain [[computer hardware]] or software, with maximal consistency and minimal amount of additional components.