Talk:Execute in place
![]() | This article is rated Start-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||
|
Talk
[edit]Presumably this only applies to file systems where the data is stored in something that behaves like memory (e.g., ROM, flash memory, battery-backed-up memory), so that reading from the file system doesn't involve an explicit read operation, right? So the file system matters only to the extent that it can make the code look as contiguous in that memory-like region as it needs to be? Guy Harris 04:43, 3 January 2006 (UTC)
- Wouldn't any filesystem that is capable of allocating a large enough contiguous series of un-compressed blocks be capable of execute-in-place, then? Alternately, if execute-in-place only refers to many programs sharing the same piece of read-only code... that's not a filesystem feature, but a feature of the operating system, and a long-standing and common one to boot. Martin Rudat(T|@|C) 08:53, 18 February 2006 (UTC)
- I assume from
- allows certain sections of programs to be stored read-only in an area other than main system memory. This is often used to allow code to run from the same location at which it is permanently stored.
- that they're referring to file systems implemented in something that behaves like memory, i.e. that the ultimate storage location can be directly fetched from or stored by machine instructions. A file system on disk doesn't support that - you can memory-map a file (most modern OSes do that), but the actual fetch is done from memory; the fetch will get a page fault, and the data will be read into a free page frame in memory, the memory mapping hardware will be pointed at that page frame, and the fetch re-executed, and it will fetch from that location. Guy Harris 09:14, 18 February 2006 (UTC)
Added some information and a reference. Not sure if this suffices to remove the addimprov thing. I'll add more if I have time. Wellus (talk) 20:59, 17 September 2009 (UTC)
The most used example of this in my recent memory is the PalmOS systems up to PalmOS 4 - which is different to the Linux slant of the current article.Simon Marchese (talk) 19:08, 29 May 2012 (UTC)
Harvard architecture?
[edit]Execute in place is some kind of Harvard architecture?
- Harvard and von Neumann are CPU architectures. XIP is not a processor architecture but an Operating System option. Your question is like trying to compare Salmon with Bicycles. Shjacks45 (talk) 18:11, 27 March 2013 (UTC)
- Whilst the above response is technically correct, a more helpful reponse might be along the following lines:
- No, but it may sometimes have to treat memory in the same way that a harvard architecture CPU does. Tunbridge Wells (talk) 07:58, 24 December 2023 (UTC)
BIAS BIAS BIAS
[edit]Linux bias, while Linux has no public distributions that support XIP (Montavista, used in Dell/Sonicwall and other devices, may be a Linux example). Android (Linux kernel, JME Presentation) builds do not currently support XIP. Apple MacOS and OS/X (BSD based) has had core BIOS routines in in ROM (usually loaded and locked in cache)(presumably in IOS as well). NetBSD has had XIP for awhile ( http://www.bsdcan.org/2010/schedule/attachments/127_xip.pdf , http://www.netbsd.org/releases/formal-6/NetBSD-6.0.1.html ) and Windows CE has had XIP since 1996 versions, I've used it in WinCE 6.1 (Windows Embedded Compact 7 articles: msdn.microsoft.com/en-us/library/ee483067.aspx and msdn.microsoft.com/en-us/library/ee478866.aspx for example). Symbian is another XIP OS ( http://www.docstoc.com/docs/101959284/Symbian-OS-Architecture-by-Wiley ). The HP200LX Computer used embedded DOS 5 which was executed from ROM. WinCE, QNX, NetBSD, and uClinux OS can all execute from on board Flash memory of a system on chip. Shjacks45 (talk) 17:10, 27 March 2013 (UTC)