-
公开(公告)号:GB2319865B
公开(公告)日:2001-06-06
申请号:GB9720316
申请日:1997-09-25
Applicant: IBM
Inventor: GOYAL PRABHAKAR , HARISH GRAMA KASTURI , HEATH JAMES DARRELL , JAGANNADHAN CHAKRAVARTHY , VENKATARAMAPPA VISHWANATH
Abstract: A system and method for compressing portions of the operating system in a ROM image and for executing the system from the compressed image. Compression is used to reduce the size of the ROM image to reduce component cost. Low use segments are compressed. The operating system is initialized into a virtual address space with entries only for the uncompressed segments. Attempts to execute a compressed segment result in a page fault. The page fault handler determines that the segment is compressed, allocates a new page and decompresses the page into RAM for execution. The RAM copy of the segment is used for execution until the page is reused for another purpose. Later execution causes a new page fault and reallocation. A memory object reference is created for components of the image; a virtual memory page reference is then made for each component not in a compressed form; instructions are then executed by reference to the image; a page fault is detected when attempting to execute an instruction in a component not having a page table reference; a compressed image is then decompressed into the random access memory in response to the page fault.
-
公开(公告)号:GB2319865A
公开(公告)日:1998-06-03
申请号:GB9720316
申请日:1997-09-25
Applicant: IBM
Inventor: GOYAL PRABHAKAR , HARISH GRAMA KASTURI , HEATH JAMES DARRELL , JAGANNADHAN CHAKRAVARTHY , VENKATARAMAPPA VISHWANATH
Abstract: In an embedded microprocessor based computer system, compressed portions of a ROM image are decompressed only when accessed. A ROM image is built such that low use segments of the operating system are compressed (figs. 3 and 4). The operating system is initialised into a virtual address space with page table entries only for the uncompressed segments (figs. 6-8). An attempt to execute a compressed segment, 902, results in a page fault, 908. A page fault handler determines that the segment is compressed, 912, allocates a new page and decompresses the page into RAM 916, 918 for execution 906. The RAM copy of the segment is used for execution until the page is reused for another purpose, whereby later execution will cause a new page fault and reallocation. Compression reduces the size of the ROM image and since the entire image does not need to be expanded into RAM for execution, the overall component cost is reduced.
-