[go: up one dir, main page]

CN1828557A - Realization Method of Process Mapping in Embedded Operating System - Google Patents

Realization Method of Process Mapping in Embedded Operating System Download PDF

Info

Publication number
CN1828557A
CN1828557A CNA2006100502588A CN200610050258A CN1828557A CN 1828557 A CN1828557 A CN 1828557A CN A2006100502588 A CNA2006100502588 A CN A2006100502588A CN 200610050258 A CN200610050258 A CN 200610050258A CN 1828557 A CN1828557 A CN 1828557A
Authority
CN
China
Prior art keywords
address
page
memory
virtual
space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006100502588A
Other languages
Chinese (zh)
Other versions
CN100342353C (en
Inventor
陈天洲
胡威
蒋宁
严力科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNB2006100502588A priority Critical patent/CN100342353C/en
Publication of CN1828557A publication Critical patent/CN1828557A/en
Application granted granted Critical
Publication of CN100342353C publication Critical patent/CN100342353C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

As the importance of process management in embedded OS, this invention realizes conversion from user address to physical address by virtual address mapping, and divides the virtual address into the kernel state and user state for right address conversion and saving space. This invention has important meaning to embed OS.

Description

嵌入式操作系统中进程映射实现方法Realization Method of Process Mapping in Embedded Operating System

技术领域technical field

本发明涉及实时任务处理技术,特别是涉及一种嵌入式操作系统中进程映射实现方法。The invention relates to a real-time task processing technology, in particular to a method for realizing process mapping in an embedded operating system.

背景技术Background technique

存储管理是操作系统的重要组成部分,它负责管理计算机系统的存储器。存储器可分成主存储器(简称主存)和辅助存储器(简称辅存)两类。Memory management is an important part of the operating system, which is responsible for managing the memory of the computer system. Memory can be divided into two categories: main memory (referred to as main memory) and auxiliary memory (referred to as auxiliary memory).

主存储器的存储空间一般分中两部分:一部分是系统区,存放操作系统以及一些标准子程序,例行程序等;另一部分是用户区,存放用户的程序和数据等。存储管理主要是对主存储器中的用户区域进行管理。The storage space of the main memory is generally divided into two parts: one part is the system area, which stores the operating system and some standard subroutines, routine programs, etc.; the other part is the user area, which stores user programs and data. Storage management is mainly to manage the user area in the main memory.

计算机系统采用多道程序设计技术后,往往要在主存储器中同时存放多个进程的程序,而这些程序在主存储器中的位置是不能预先知道的,所以用户在编写程序时不能使用绝对地址。现代计算机的指令中地址部分所指示的地址通常是地址,逻辑地址可从0开始编号。用户按逻辑地址编写程序。当要把程序装入计算机时,首先,操作系统要为其分配一个合适的主存空间。由于逻辑地址经常与分配到的主存空间的绝对地址不一致,而处理器执行指令是按绝对地址进行的,所以必须把逻辑地址转换成绝对地址才能得到信息的真实存放处。把逻辑地址转换成绝对地址的工作称地址转换。After the computer system adopts multi-programming technology, it often needs to store programs of multiple processes in the main memory at the same time, and the locations of these programs in the main memory cannot be known in advance, so users cannot use absolute addresses when writing programs. The address indicated by the address part in the instructions of a modern computer is usually an address, and logical addresses can be numbered starting from 0. Users write programs in terms of logical addresses. When loading a program into a computer, first, the operating system must allocate a suitable main memory space for it. Since the logical address is often inconsistent with the absolute address of the allocated main memory space, and the processor executes instructions according to the absolute address, it is necessary to convert the logical address into an absolute address to obtain the real storage place of the information. The work of converting a logical address into an absolute address is called address translation.

多个进程共享主存储器时,必须对主存储器中的程序和数据进行保护,并进行合理有效地调动,以达到充分发挥主存储器的效率。When multiple processes share the main memory, the programs and data in the main memory must be protected and allocated reasonably and effectively so as to fully utilize the efficiency of the main memory.

为方便用户编制程序,使用户编写程序时不受主存储器实际容量的限制,可以采用一定的技术“扩充”主存储器容量,可使用得到比实际容量大的主存空间。In order to make it easier for the user to program, so that the user is not limited by the actual capacity of the main memory when writing the program, a certain technology can be used to "expand" the main memory capacity, and a main memory space larger than the actual capacity can be used.

发明内容Contents of the invention

本发明的目的在于提供一种嵌入式操作系统中进程映射实现方法。The purpose of the present invention is to provide a method for realizing process mapping in an embedded operating system.

本发明解决其技术问题采用的技术方案如下:The technical scheme that the present invention solves its technical problem adopts is as follows:

为每一个进程提供两个虚存,一个是核心态下的虚存,使用该态下的那组活动页寄存器来实现其虚、物理地址的映射;一个是用户态下的虚存,使用该态下的那组活动页寄存器来实现其虚、物理地址的映射。这两个状态下的虚存,最大都是64K字节。Provide two virtual memories for each process, one is the virtual memory in the core state, using the group of active page registers in this state to realize the mapping of its virtual and physical addresses; the other is the virtual memory in the user state, using the The set of active page registers in the state is used to realize the mapping of its virtual and physical addresses. The maximum virtual memory in these two states is 64K bytes.

1)虚拟空间地址1) Virtual space address

在存储管理部件的支持下,16位的字节地址不再被直接解释为物理地址,而被看作是一个虚拟空间地址;With the support of the storage management component, the 16-bit byte address is no longer directly interpreted as a physical address, but is regarded as a virtual space address;

把64K字节的虚拟空间地址空间分成8页,每页分成128块,每块为64个字节,于是每页最多可达到8K字节,为了充分利用内存空间,系统是按虚页实际的页长来分配内存空间的;Divide the 64K-byte virtual space address space into 8 pages, each page is divided into 128 blocks, and each block is 64 bytes, so each page can reach up to 8K bytes. In order to make full use of the memory space, the system is based on virtual pages. The page length is used to allocate memory space;

2)活动页寄存器2) Active page register

虚存页在内存中的实际位置,需要有一张映象表加以反映,这个映象表在由两组活动页寄存器组成的,一组用于核心态,一组用于用户态。每组有8个32位长的寄存器,每一个一分为二:一个是页地址寄存器,一个是页说明寄存器;The actual location of the virtual memory page in the memory needs to be reflected by a mapping table. This mapping table is composed of two sets of active page registers, one for the core state and one for the user state. Each group has 8 32-bit long registers, each of which is divided into two: one is the page address register, and the other is the page description register;

页地址寄存器用来记录虚拟空间地址空间相应各页在内存的起始块号;The page address register is used to record the starting block number of each page corresponding to the virtual space address space in the memory;

页说明寄存器,记录着虚拟空间地址空间相应各页的存取权限、扩展方向以及该页的长度。寄存器的第1、2位表明对相应页的存取权限,第3位表明该页的扩展方向,寄存器的第8~14位为该虚页的实际长度,用含多少块来表示;The page specification register records the access authority, extension direction, and length of each page corresponding to the address space of the virtual space. The 1st and 2nd bits of the register indicate the access rights to the corresponding page, the 3rd bit indicates the expansion direction of the page, and the 8th to 14th bits of the register are the actual length of the virtual page, expressed by how many blocks it contains;

3)虚——物理地址的转换3) virtual - physical address conversion

在得到虚存空间地址之后,按照如下过程实现从虚拟空间地址到物理地址的转换:After obtaining the address of the virtual memory space, the conversion from the virtual space address to the physical address is realized according to the following process:

第一步,根据处理机状态字的第14、15位,确定处理机现在所处的运行状态,由此选择相应的活动页寄存器组;The first step is to determine the current operating state of the processor according to the 14th and 15th bits of the processor status word, thereby selecting the corresponding active page register group;

第二步,由虚拟空间地址中的页号得到该组中相应的页地址寄存器主页说明寄存器;The second step is to obtain the corresponding page address register home page description register in the group from the page number in the virtual space address;

第三步,由页地址寄存器中的“本页在内存起始块号”和虚拟空间地址中的“页内块号”构成内存中的物理块号,并由页说明寄存器检查该块号的合法性;The third step is to form the physical block number in the memory from the "starting block number of this page in the memory" in the page address register and the "block number in the page" in the virtual space address, and check the block number by the page description register legality;

第四步,由物理块号和虚拟空间地址中的“位移量”构成这个虚拟空间地址所对应的物理地址。In the fourth step, the physical address corresponding to the virtual space address is formed from the physical block number and the "displacement amount" in the virtual space address.

4)进程在核心态下的虚拟空间地址空间4) The virtual space address space of the process in the core state

在核心态下,进程运行的是操作系统程序,要使用核心栈区,要用到该进程的用户结构,此态下的虚拟空间地址空间的组成包括:In the core state, the process runs the operating system program. To use the core stack area, the user structure of the process is used. The composition of the virtual space address space in this state includes:

在用户态下,进程运行时涉及共享正文段,数据区,以及用户栈区In user mode, the process involves sharing the text segment, data area, and user stack area when running

5)进程映像在内存中的实际分布5) The actual distribution of the process image in memory

①把核心态虚拟空间地址空间的0~5页装在内存0地址开始的低地址处,常驻内存;① Install pages 0 to 5 of the core state virtual space address space at the low address starting from address 0 of the memory, and reside in the memory;

②把核心态虚拟空间地址空间的第7页输入输出页装在内存最高地址处的8K空间里,常驻内存;② Install the 7th page input and output page of the core state virtual space address space in the 8K space at the highest address of the memory, and reside in the memory;

③根据当前存储分配情况,以内存块为单位把共享正文段放在一个连续区内;③According to the current storage allocation situation, put the shared text segment in a continuous area in units of memory blocks;

④根据当前存储分配情况,以内存块为单位把核心态虚拟空间地址空间中的1024字节的内容、用户态虚拟空间地址空间中的数据区、以及用户栈区放在一个连续区内,构成进程映像的数据段;④According to the current storage allocation, put the 1024-byte content in the core state virtual space address space, the data area in the user state virtual space address space, and the user stack area in a continuous area in units of memory blocks to form the data segment of the process image;

⑤将进程映像全部在内存的进程的共享正文段的起始块号送入内存相应共享正文段保存。⑤ Send the starting block number of the shared text segment of the process whose process image is all in the memory to the corresponding shared text segment of the memory for storage.

本发明具有的有益效果是:本发明采用虚拟地址映射的办法实现用户地址到物理地址的转换,并将虚拟地址分为内核态与用户态,划分保护级别,既保证了每个进程的正确地址转换,又抽取每个进程的共享数据,节约了存储空间,不论是对操作系统的内存管理,还是用户程序的编写运行,都提供了最大的方便、安全和高效。The beneficial effects of the present invention are: the present invention adopts the method of virtual address mapping to realize the conversion from user address to physical address, divides the virtual address into kernel state and user state, and divides the protection level, which not only ensures the correct address of each process Converting and extracting the shared data of each process saves storage space, providing the greatest convenience, safety and efficiency for both the memory management of the operating system and the writing and running of user programs.

附图说明Description of drawings

图1虚拟空间地址;Figure 1 virtual space address;

图2处理机状态字;Fig. 2 processor status word;

图3页地址寄存器;Figure 3 page address register;

图4也说明寄存器;Figure 4 also illustrates the registers;

图5虚物理地址转换;Figure 5 virtual physical address translation;

图6进程映像在内存中的实际分布。Figure 6 The actual distribution of the process image in memory.

具体实施方式Detailed ways

在实施实时任务调度时,采用c语言编写,具体方式如下:When implementing real-time task scheduling, it is written in C language, and the specific method is as follows:

为每一个进程提供两个虚存,一个是核心态下的虚存,使用该态下的那组活动页寄存器来实现其虚、物理地址的映射;一个是用户态下的虚存,使用该态下的那组活动页寄存器来实现其虚、物理地址的映射。这两个状态下的虚存,最大都是64K字节。Provide two virtual memories for each process, one is the virtual memory in the core state, using the group of active page registers in this state to realize the mapping of its virtual and physical addresses; the other is the virtual memory in the user state, using the The set of active page registers in the state is used to realize the mapping of its virtual and physical addresses. The maximum virtual memory in these two states is 64K bytes.

1)虚拟空间地址1) Virtual space address

在存储管理部件的支持下,16位的字节地址不再被直接解释为物理地址,而被看作是一个虚拟空间地址,如图1所示:With the support of the storage management component, the 16-bit byte address is no longer directly interpreted as a physical address, but is regarded as a virtual space address, as shown in Figure 1:

把64K字节的虚拟空间地址空间分成8页,每页分成128块,每块为64个字节,于是每页最多可达到8K字节,为了充分利用内存空间,系统是按虚页实际的页长来分配内存空间的。Divide the 64K-byte virtual space address space into 8 pages, each page is divided into 128 blocks, and each block is 64 bytes, so each page can reach up to 8K bytes. In order to make full use of the memory space, the system is based on virtual pages. The page length is used to allocate memory space.

2)活动页寄存器2) Active page register

虚存页在内存中的实际位置,需要有一张映象表加以反映,这个映象表在由两组活动页寄存器组成的,一组用于核心态,一组用于用户态。每组有8个32位长的寄存器,每一个一分为二:一个是页地址寄存器,如图3,一个是页说明寄存器,如图4:The actual location of the virtual memory page in the memory needs to be reflected by a mapping table. This mapping table is composed of two sets of active page registers, one for the core state and one for the user state. Each group has 8 32-bit long registers, each of which is divided into two: one is the page address register, as shown in Figure 3, and the other is the page description register, as shown in Figure 4:

页地址寄存器用来记录虚拟空间地址空间相应各页在内存的起始块号。把内存按64个字节为单位划分成块,共有4096=212块,编号为0~(212-1),内存分配以块为单位。每个页地址寄存器只使用其低12位,用来记录虚拟空间地址空间相应各页在内存的起始块号。The page address register is used to record the starting block number of each page corresponding to the virtual space address space in the memory. Divide the memory into blocks in units of 64 bytes, a total of 4096=2 12 blocks, numbered 0~(2 12 -1), and memory allocation is in units of blocks. Each page address register only uses its lower 12 bits to record the starting block number of each page corresponding to the virtual space address space in the memory.

页说明寄存器,记录着虚拟空间地址空间相应各页的存取权限、扩展方向以及该页的长度。寄存器的第1、2位表明对相应页的存取权限,第3位表明该页的扩展方向,寄存器的第8~14位为该虚页的实际长度,用含多少块来表示。The page specification register records the access authority, extension direction, and length of each page corresponding to the address space of the virtual space. The 1st and 2nd bits of the register indicate the access rights to the corresponding page, the 3rd bit indicates the expansion direction of the page, and the 8th to 14th bits of the register are the actual length of the virtual page, expressed by how many blocks it contains.

3)虚——物理地址的转换3) virtual - physical address conversion

在得到虚存空间地址之后,按照如下过程实现从虚拟空间地址到物理地址的转换,如图5所示:After obtaining the address of the virtual memory space, the conversion from the virtual space address to the physical address is realized according to the following process, as shown in Figure 5:

第一步,根据处理机状态字(如图2所示)的第14、15位,确定处理机现在所处的运行状态,由此选择相应的活动页寄存器组;The first step, according to the 14th, 15th bits of the processor state word (as shown in Figure 2), determine the running state that processor is in now, select corresponding active page register group thus;

第二步,由虚拟空间地址中的页号得到该组中相应的页地址寄存器主页说明寄存器;The second step is to obtain the corresponding page address register home page description register in the group from the page number in the virtual space address;

第三步,由页地址寄存器中的“本页在内存起始块号”和虚拟空间地址中的“页内块号”构成内存中的物理块号,并由页说明寄存器检查该块号的合法性;The third step is to form the physical block number in the memory from the "starting block number of this page in the memory" in the page address register and the "block number in the page" in the virtual space address, and check the block number by the page description register legality;

第四步,由物理块号和虚拟空间地址中的“位移量”构成这个虚拟空间地址所对应的物理地址。In the fourth step, the physical address corresponding to the virtual space address is formed from the physical block number and the "displacement amount" in the virtual space address.

4)进程在核心态下的虚拟空间地址空间4) The virtual space address space of the process in the core state

在核心态下,进程运行的是操作系统程序,要使用核心栈区,要用到该进程的用户结构,其中,0~5页存放操作系统代码,这里面包括常驻内存的进程结构;第7页存放与系统输入、输出相关的内容,称输入、输出页;第6页放现运行进程的部分代码区,即用户结构和核心栈,实际只用1024个字节。对所有进程来说,第0~5页和第7页共七页的内容都是相同的。In the core state, the process runs the operating system program, and the core stack area needs to be used to use the user structure of the process. Among them, pages 0-5 store the operating system code, which includes the process structure of the resident memory; Page 7 stores content related to system input and output, called input and output pages; page 6 contains part of the code area of the running process, namely the user structure and core stack, which actually only use 1024 bytes. For all processes, the contents of pages 0-5 and page 7 are the same.

在用户态下,进程运行时涉及共享正文段,数据区,以及用户栈区:In user mode, the shared text segment, data area, and user stack area are involved when the process is running:

此态下的虚拟空间地址空间的安排原则为:The arrangement principle of virtual space address space in this state is as follows:

①由低往高安排先共享正文段,再数据区;由高往低放置栈区;① Arrange from low to high to share the text segment first, and then to the data area; place the stack area from high to low;

②以页为分配单位,不满一页按页找齐。如图14(a)所示,若共享正文段长度为2.5页,则在虚拟空间地址空间中占据0~2页;数据区为2.25页,则在虚拟空间地址空间中紧接共享正文段占据3~5页;栈区为0.5页,则占据虚拟空间地址空间的第7页,且向低地址方向延伸。这时虚空间的第6页为空白,未被占用。② Use pages as the allocation unit, and if there is less than one page, it will be aligned page by page. As shown in Figure 14(a), if the length of the shared text segment is 2.5 pages, it will occupy 0-2 pages in the virtual space address space; if the data area is 2.25 pages, then the shared text segment in the virtual space address space will occupy 3 to 5 pages; the stack area is 0.5 pages, which occupies the seventh page of the virtual space address space and extends to the lower address direction. At this time, page 6 of the virtual space is blank and unoccupied.

5)进程映像在内存中的实际分布5) The actual distribution of the process image in memory

虽然每个进程都有一个核心态的虚拟空间地址空间,但它们中的第0~5以及第7页的内容是完全一样的。此外,即使是每个进程的用户态虚拟空间,也不能按其分配情况原封不动地照搬到内存中去,否则会造成内存空间的巨大浪费。因此,各个进程映像在内存的真实分布情况,如图6所示:Although each process has a core-state virtual space address space, the contents of pages 0-5 and page 7 are exactly the same. In addition, even the user-mode virtual space of each process cannot be copied into the memory intact according to its allocation, otherwise it will cause a huge waste of memory space. Therefore, the real distribution of each process image in memory is shown in Figure 6:

①把核心态虚拟空间地址空间的0~5页装在内存0地址开始的低地址处,常驻内存;① Install pages 0 to 5 of the core state virtual space address space at the low address starting from address 0 of the memory, and reside in the memory;

②把核心态虚拟空间地址空间的第7页输入输出页装在内存最高地址处的8K空间里,常驻内存;② Install the 7th page input and output page of the core state virtual space address space in the 8K space at the highest address of the memory, and reside in the memory;

③根据当前存储分配情况,以内存块为单位把共享正文段放在一个连续区内;③According to the current storage allocation situation, put the shared text segment in a continuous area in units of memory blocks;

④根据当前存储分配情况,以内存块为单位把核心态虚拟空间地址空间中的1024字节的内容、用户态虚拟空间地址空间中的数据区、以及用户栈区放在一个连续区内,构成进程映像的数据段;④According to the current storage allocation, put the 1024-byte content in the core state virtual space address space, the data area in the user state virtual space address space, and the user stack area in a continuous area in units of memory blocks to form the data segment of the process image;

⑤将进程映像全部在内存的进程的共享正文段的起始块号送入内存相应共享正文段保存。⑤ Send the starting block number of the shared text segment of the process whose process image is all in the memory to the corresponding shared text segment of the memory for storage.

Claims (1)

1.一种嵌入式操作系统中进程映射实现方法,其特征在于:1. a process mapping implementation method in an embedded operating system, characterized in that: 为每一个进程提供两个虚存,一个是核心态下的虚存,使用该态下的那组活动页寄存器来实现其虚、物理地址的映射;一个是用户态下的虚存,使用该态下的那组活动页寄存器来实现其虚、物理地址的映射,这两个状态下的虚存,最大都是64K字节;Provide two virtual memories for each process, one is the virtual memory in the core state, using the group of active page registers in this state to realize the mapping of its virtual and physical addresses; the other is the virtual memory in the user state, using the The group of active page registers in the state is used to realize the mapping of its virtual and physical addresses. The virtual memory in these two states is at most 64K bytes; 1)虚拟空间地址1) virtual space address 在存储管理部件的支持下,16位的字节地址不再被直接解释为物理地址,而被看作是一个虚拟空间地址;With the support of the storage management component, the 16-bit byte address is no longer directly interpreted as a physical address, but is regarded as a virtual space address; 把64K字节的虚拟空间地址空间分成8页,每页分成128块,每块为64个字节,于是每页最多可达到8K字节,为了充分利用内存空间,系统是按虚页实际的页长来分配内存空间的;Divide the 64K-byte virtual space address space into 8 pages, each page is divided into 128 blocks, and each block is 64 bytes, so each page can reach up to 8K bytes. In order to make full use of the memory space, the system is based on virtual pages. The page length is used to allocate memory space; 2)活动页寄存器2) Active page register 虚存页在内存中的实际位置,需要有一张映象表加以反映,这个映象表在由两组活动页寄存器组成的,一组用于核心态,一组用于用户态,每组有8个32位长的寄存器,每一个一分为二:一个是页地址寄存器,一个是页说明寄存器;The actual location of the virtual memory page in the memory needs to be reflected by a mapping table. This mapping table is composed of two sets of active page registers, one for the core state and one for the user state, each group has 8 32-bit long registers, each divided into two: one is the page address register, and the other is the page description register; 页地址寄存器用来记录虚拟空间地址空间相应各页在内存的起始块号;The page address register is used to record the starting block number of each page corresponding to the virtual space address space in the memory; 页说明寄存器,记录着虚拟空间地址空间相应各页的存取权限、扩展方向以及该页的长度,寄存器的第1、2位表明对相应页的存取权限,第3位表明该页的扩展方向,寄存器的第8~14位为该虚页的实际长度,用含多少块来表示;The page description register records the access rights, extension direction, and length of the page corresponding to the virtual space address space. The first and second bits of the register indicate the access rights to the corresponding page, and the third bit indicates the extension of the page. Direction, the 8th to 14th bits of the register are the actual length of the virtual page, expressed by how many blocks it contains; 3)虚——物理地址的转换3) virtual - physical address conversion 在得到虚存空间地址之后,按照如下过程实现从虚拟空间地址到物理地址的转换:After obtaining the address of the virtual memory space, the conversion from the virtual space address to the physical address is realized according to the following process: 第一步,根据处理机状态字的第14、15位,确定处理机现在所处的运行状态,由此选择相应的活动页寄存器组;The first step is to determine the current operating state of the processor according to the 14th and 15th bits of the processor status word, thereby selecting the corresponding active page register group; 第二步,由虚拟空间地址中的页号得到该组中相应的页地址寄存器页说明寄存器;The second step is to obtain the corresponding page address register page description register in the group from the page number in the virtual space address; 第三步,由页地址寄存器中的“本页在内存起始块号”和虚拟空间地址中的“页内块号”构成内存中的物理块号,并由页说明寄存器检查该块号的合法性;The third step is to form the physical block number in the memory from the "starting block number of this page in the memory" in the page address register and the "block number in the page" in the virtual space address, and check the block number by the page description register legality; 第四步,由物理块号和虚拟空间地址中的“位移量”构成这个虚拟空间地址所对应的物理地址;The fourth step is to form the physical address corresponding to the virtual space address from the physical block number and the "displacement amount" in the virtual space address; 4)进程在核心态下的虚拟空间地址空间;4) The virtual space address space of the process in the core state; 在核心态下,进程运行的是操作系统程序,要使用核心栈区,要用到该进程的用户结构,此态下的虚拟空间地址空间的组成包括:In the core state, the process runs the operating system program. To use the core stack area, the user structure of the process is used. The composition of the virtual space address space in this state includes: 在用户态下,进程运行时涉及共享正文段,数据区,以及用户栈区;In user mode, the process involves sharing the text segment, data area, and user stack area when running; 5)进程映像在内存中的实际分布5) The actual distribution of the process image in memory ①把核心态虚拟空间地址空间的0~5页装在内存0地址开始的低地址处,常驻内存;① Install pages 0 to 5 of the address space of the virtual space in the core state at the low address starting from address 0 of the memory, and reside in the memory; ②把核心态虚拟空间地址空间的第7页输入输出页装在内存最高地址处的8K空间里,常驻内存;② Install the 7th page input and output page of the core state virtual space address space in the 8K space at the highest address of the memory, and reside in the memory; ③根据当前存储分配情况,以内存块为单位把共享正文段放在一个连续区内;③According to the current storage allocation situation, put the shared text segment in a continuous area in units of memory blocks; ④根据当前存储分配情况,以内存块为单位把核心态虚拟空间地址空间中的1024字节的内容、用户态虚拟空间地址空间中的数据区、以及用户栈区放在一个连续区内,构成进程映像的数据段;④According to the current storage allocation, put the 1024-byte content in the core state virtual space address space, the data area in the user state virtual space address space, and the user stack area in a continuous area in units of memory blocks to form the data segment of the process image; ⑤将进程映像全部在内存的进程的共享正文段的起始块号送入内存相应共享正文段保存。⑤ Send the starting block number of the shared text segment of the process whose process image is all in the memory into the corresponding shared text segment of the memory for storage.
CNB2006100502588A 2006-04-07 2006-04-07 Process mapping realization method in embedded type operation system Expired - Fee Related CN100342353C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100502588A CN100342353C (en) 2006-04-07 2006-04-07 Process mapping realization method in embedded type operation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100502588A CN100342353C (en) 2006-04-07 2006-04-07 Process mapping realization method in embedded type operation system

Publications (2)

Publication Number Publication Date
CN1828557A true CN1828557A (en) 2006-09-06
CN100342353C CN100342353C (en) 2007-10-10

Family

ID=36946967

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100502588A Expired - Fee Related CN100342353C (en) 2006-04-07 2006-04-07 Process mapping realization method in embedded type operation system

Country Status (1)

Country Link
CN (1) CN100342353C (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201794B (en) * 2006-12-15 2010-08-18 中兴通讯股份有限公司 Method and system for determining EMS memory occupation of software
CN101950274A (en) * 2010-07-14 2011-01-19 北京北大众志微系统科技有限责任公司 Data access device based on supervisor mode maintenance and problem mode share as well as method thereof
CN101252527B (en) * 2008-04-09 2011-01-26 腾讯科技(深圳)有限公司 Method for transferring network, network transfer server and inner core managing module
CN101478549B (en) * 2009-01-20 2011-10-05 电子科技大学 The operation method of the shared memory streaming media server and its functional module structure
CN102446136A (en) * 2010-10-14 2012-05-09 无锡江南计算技术研究所 Self-adaptive large page allocation method and device
CN101398759B (en) * 2007-06-29 2012-06-13 北京中星微电子有限公司 Method for avoiding self-updating of startup code when data block moving
CN106502924A (en) * 2016-10-27 2017-03-15 深圳创维数字技术有限公司 A kind of Memory Optimize Method and system
CN107273213A (en) * 2017-06-27 2017-10-20 联想(北京)有限公司 A kind of calculation control method, network interface card and electronic equipment
CN108090347A (en) * 2016-11-23 2018-05-29 阿里巴巴集团控股有限公司 A kind of data processing method and system
CN109683983A (en) * 2018-12-11 2019-04-26 青岛海信电器股份有限公司 A kind of generation of image file and loading method, equipment
CN110554973A (en) * 2018-06-03 2019-12-10 苹果公司 memory page reclamation in user idle mode

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598144B1 (en) * 2001-12-12 2003-07-22 Advanced Micro Devices, Inc. Arrangement for limiting access to addresses by a consumer process instigating work in a channel adapter based on virtual address mapping
JP4128468B2 (en) * 2002-02-25 2008-07-30 株式会社リコー Information processing apparatus and memory map method

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201794B (en) * 2006-12-15 2010-08-18 中兴通讯股份有限公司 Method and system for determining EMS memory occupation of software
CN101398759B (en) * 2007-06-29 2012-06-13 北京中星微电子有限公司 Method for avoiding self-updating of startup code when data block moving
CN101252527B (en) * 2008-04-09 2011-01-26 腾讯科技(深圳)有限公司 Method for transferring network, network transfer server and inner core managing module
CN101478549B (en) * 2009-01-20 2011-10-05 电子科技大学 The operation method of the shared memory streaming media server and its functional module structure
CN101950274B (en) * 2010-07-14 2012-06-20 北京北大众志微系统科技有限责任公司 Data access device based on supervisor mode maintenance and problem mode share as well as method thereof
CN101950274A (en) * 2010-07-14 2011-01-19 北京北大众志微系统科技有限责任公司 Data access device based on supervisor mode maintenance and problem mode share as well as method thereof
CN102446136A (en) * 2010-10-14 2012-05-09 无锡江南计算技术研究所 Self-adaptive large page allocation method and device
CN102446136B (en) * 2010-10-14 2014-09-03 无锡江南计算技术研究所 Self-adaptive large-page allocation method and device
CN106502924A (en) * 2016-10-27 2017-03-15 深圳创维数字技术有限公司 A kind of Memory Optimize Method and system
CN106502924B (en) * 2016-10-27 2020-02-07 深圳创维数字技术有限公司 Memory optimization method and system
CN108090347A (en) * 2016-11-23 2018-05-29 阿里巴巴集团控股有限公司 A kind of data processing method and system
CN107273213A (en) * 2017-06-27 2017-10-20 联想(北京)有限公司 A kind of calculation control method, network interface card and electronic equipment
CN107273213B (en) * 2017-06-27 2024-04-19 联想(北京)有限公司 Calculation control method, network card and electronic equipment
CN110554973A (en) * 2018-06-03 2019-12-10 苹果公司 memory page reclamation in user idle mode
CN109683983A (en) * 2018-12-11 2019-04-26 青岛海信电器股份有限公司 A kind of generation of image file and loading method, equipment

Also Published As

Publication number Publication date
CN100342353C (en) 2007-10-10

Similar Documents

Publication Publication Date Title
CN100342353C (en) Process mapping realization method in embedded type operation system
CN108595349B (en) Address translation method and device for mass storage device
US20170004069A1 (en) Dynamic memory expansion by data compression
US8151076B2 (en) Mapping memory segments in a translation lookaside buffer
US20110113207A1 (en) Data processing system with application-controlled allocation of file storage space
CN101008922A (en) Segmentation and paging data storage space management method facing heterogeneous polynuclear system
JP2024054306A (en) Hardware-Based Memory Compression
US9552295B2 (en) Performance and energy efficiency while using large pages
TWI744111B (en) Method for establishing look-up table and inquiring memory address, method for establishing host memory address look-up table, and method for inquiring host memory address
CN1425986A (en) Automatic compressing/decompressing file system and its compressing algorithm
CN1269043C (en) Remapping method of memory address
TW201802684A (en) Two stage command buffers to overlap IOMMU map and second tier memory reads
CN1851677A (en) Embedded processor system and its data operating method
US10817433B2 (en) Page tables for granular allocation of memory pages
Chen et al. A unified framework for designing high performance in-memory and hybrid memory file systems
CN1304957C (en) Method for improving compute system disc synchronous writing property based on movable memory
CN1924833A (en) Processing module with multi-level cache architecture
CN1896972A (en) Method and device for converting virtual address, reading and writing high-speed buffer memory
US20230236969A1 (en) Hinting Mechanism for Efficient Accelerator Services
JP5182674B2 (en) How to automatically use superpages for stack memory allocation
JP5958195B2 (en) Virtual memory management system, virtual memory management apparatus, virtual memory initialization method, and virtual memory initialization program
CN1794209A (en) Implementing method of segment and page type virtual storage system in Java operation system
CN110362509B (en) Unified address conversion method and unified address space
JP4792065B2 (en) Data storage method
CN112463355A (en) Hash-based user mode memory application fixed caching method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071010

Termination date: 20120407