A method of operating a computing device having NAND flash memory for
storage of program code and user data. At start up, only selected
components of the computing device core operating system are shadowed
into RAM. Other components, such as read only system files associated
with the core operating system, are retained in the NAND flash memory and
only shadowed into RAM upon demand. The program codes shadowed into RAM
at start up and the program codes shadowed into RAM upon demand are
presented to a file server of the computing device as a composite file
system. The use of the composite file system reduces the amount of RAM
permanently occupied by core operating system code during operation of
the device and also enhances the use of the more power efficient NAND
flash memory. Moreover, the boot up time of the device is also
significantly reduced.