C语言编程...编个文件管理系统 20
老师布置了个文件管理的编程作业..达人们来帮忙下啊..中文翻译....用在线翻译弄的....翻得有点差....设计文件管理设计一个档案管理程式。该计划是用来管理一个潜在的...
老师布置了个文件管理的编程作业..达人们来帮忙下啊..
中文翻译....用在线翻译弄的....翻得有点差....
设计文件管理
设计一个档案管理程式。该计划是用来管理一个潜在的非常大的文件,可以不适合到内存中。这将投放数量有限的主内存举行件的数据档案。数据存储器可能要写信给磁盘,如果修改时,内存是用户需求。
请执行以下api函数在c :
1 。 int cacheRead(long start, int len, char *buf);
此功能将拷贝一大块的数据从缓存到一个目的地的缓冲区。如果数据尚未对快取记忆体,你必须把数据写入缓存第一次。第一个参数是偏移的数据档案。
2 。 int cacheWrite(long start, int len, char *buf);
此功能将写入数据的缓冲区,以快取记忆体中。这些数据将需要得到最终作出档案时,计划出口。
3 。 int cacheOpen(char *filename);
此功能将打开缓存和奉献的精神,它向指定的文件。
4 。 int cacheClose(int file);
此功能将关闭缓存相关档案。
提示:你可能需要有一个国旗修改为每缓存页(见下文) 。
1 。你可以拨出一个数据高速缓存,在主记忆体使用的malloc ( )或其他内存分配职能。缓存大小的记忆必须含8mb (没有更不会少) 。
2 。该含8mb缓存分为1024页,每一页,是8 kb的大小。
3 。你可以决定战略页的替代产品。一个精心设计的策略,将大大增强,履行自己的计划。
4 。履行自己的计划,将取决于命中率。
5 。该计划不应该直接或间接地援引任何档案存取功能,而不是它必须调用下列功能,以获取档案: mread ( ) ; mwrite ( ) ; mopen ( ) ; mclose ( ) 。
6 。该mread ( )和mwrite ( )将读/写了一页的数据从/向磁盘。页面大小是预定为8 kb的。
第2部分...
Project 2. Multithreading and Concurrency.多处理器与并发
Let’s assume that the program you implemented in the project #1 is to be used by other applications. In a typical situation, the program is compiled into a DLL, and another program links to the DLL and creates multiple threads, each of which will call your API functions independently. In such situations, you need to lock your data to prevent corruption. 假设你在设计1执行的程序是 应用别的应用软件,,在一典型的情况下,这程序编译成一个动态连接库,另一程序连接到动态连接库,然后创建多头螺纹,每个都会独立地命令你的应用编程接口运行,在这种情况下,你需要锁定数据去维护你的讹误
Please add necessary locks in the API functions you implemented in the project #1:
请在你运行的第一个项目中的应用编程接口中加上一些必要的封闭口
1. int cacheRead(long start, int len, char *buf);
2. int cacheWrite(long start, int len, char *buf);
3. int cacheOpen(char *filename);
4. int cacheClose(int file); 展开
中文翻译....用在线翻译弄的....翻得有点差....
设计文件管理
设计一个档案管理程式。该计划是用来管理一个潜在的非常大的文件,可以不适合到内存中。这将投放数量有限的主内存举行件的数据档案。数据存储器可能要写信给磁盘,如果修改时,内存是用户需求。
请执行以下api函数在c :
1 。 int cacheRead(long start, int len, char *buf);
此功能将拷贝一大块的数据从缓存到一个目的地的缓冲区。如果数据尚未对快取记忆体,你必须把数据写入缓存第一次。第一个参数是偏移的数据档案。
2 。 int cacheWrite(long start, int len, char *buf);
此功能将写入数据的缓冲区,以快取记忆体中。这些数据将需要得到最终作出档案时,计划出口。
3 。 int cacheOpen(char *filename);
此功能将打开缓存和奉献的精神,它向指定的文件。
4 。 int cacheClose(int file);
此功能将关闭缓存相关档案。
提示:你可能需要有一个国旗修改为每缓存页(见下文) 。
1 。你可以拨出一个数据高速缓存,在主记忆体使用的malloc ( )或其他内存分配职能。缓存大小的记忆必须含8mb (没有更不会少) 。
2 。该含8mb缓存分为1024页,每一页,是8 kb的大小。
3 。你可以决定战略页的替代产品。一个精心设计的策略,将大大增强,履行自己的计划。
4 。履行自己的计划,将取决于命中率。
5 。该计划不应该直接或间接地援引任何档案存取功能,而不是它必须调用下列功能,以获取档案: mread ( ) ; mwrite ( ) ; mopen ( ) ; mclose ( ) 。
6 。该mread ( )和mwrite ( )将读/写了一页的数据从/向磁盘。页面大小是预定为8 kb的。
第2部分...
Project 2. Multithreading and Concurrency.多处理器与并发
Let’s assume that the program you implemented in the project #1 is to be used by other applications. In a typical situation, the program is compiled into a DLL, and another program links to the DLL and creates multiple threads, each of which will call your API functions independently. In such situations, you need to lock your data to prevent corruption. 假设你在设计1执行的程序是 应用别的应用软件,,在一典型的情况下,这程序编译成一个动态连接库,另一程序连接到动态连接库,然后创建多头螺纹,每个都会独立地命令你的应用编程接口运行,在这种情况下,你需要锁定数据去维护你的讹误
Please add necessary locks in the API functions you implemented in the project #1:
请在你运行的第一个项目中的应用编程接口中加上一些必要的封闭口
1. int cacheRead(long start, int len, char *buf);
2. int cacheWrite(long start, int len, char *buf);
3. int cacheOpen(char *filename);
4. int cacheClose(int file); 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询