操作系统原理课程设计

jacknian 2011-12-12 10:37:55
求解啊?

假设一个机器,其有内存为64KB,系统采用请求页式系统进行存储管理,每个页面大小为1KB,另外其运行的OS----KSOS本身需要占用占用16K,剩余空间留给了用户进程共享使用。模拟系统KSOS(自己取得名字)采用多道程序设计的方案,规定每个进程使用的最大块数为4KB。

本课程设计要求设计程序来模拟上述场景的实现,程序的用户可以通过命令、菜单、按钮等用户接口来动态创建进程,系统让用户输入需创建的进程的逻辑地址空间大小,系统响应用户创建的要求后,创建PCB、生成模拟程序代码。课程设计系统中用线程来模拟KSOS系统中的进程,设计程序来模拟采用时间片轮转调度算法驱动各进程向前推进,当然推进的顺序是按照创建时随机生成的模拟程序来行进的。

开始所有的页都不在内存,随着程序推进,它们被调入内存,KSOS改变页表、内存位示图,反映系统内部的实际状况。模拟程序代码表中的时长部分为该地址的内存使用的时间长度(定时时间粒度的个数)。

系统可以用多线程实现:主线程为用户界面线程,每次用户创建一个进程程,内部就创建一个线程与之对应;也可以用定时器来模拟多个进程的运行。
用户界面上可以显示内存的变化情况,可以动态显示当前处理机运行进程的有关情况


...全文
222 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuucyf 2011-12-13
  • 打赏
  • 举报
回复
楼主可以买本<<Orange's 一个操作系统的实现>>看看.

不过你的是模拟,相对简单多了.
jacknian 2011-12-13
  • 打赏
  • 举报
回复
这些鬼都知道,好歹课本很熟的,概念的东西我都懂的!

但是说说和做是两回事

真心希望有高手指导

http://download.csdn.net/detail/jacknian/3913110

这是框架,不知道怎么加代码,是用MFC写的
「已注销」 2011-12-13
  • 打赏
  • 举报
回复
关于进程管理,你可以现在Win32用户态下开发一个小工程,在这个工程里研究“如何进行线程切换”,Win32实现了一个叫做“纤程”的东西,实际上,这个东西可以由用户态程序自己实现,而不需操作系统的内核进行支持。

「已注销」 2011-12-13
  • 打赏
  • 举报
回复
其实操作系统不是很难实现。

操作系统有两个基本部件:
1 内存管理
2 进程(线程)管理

内存管理最好参考Linux的,这方面资料比较多,也容易获得。
进程管理其实就是解决不同“上下文”之间的切换,比如,要分辨现在是硬中断还是软中断,则使用不同的方式切换上下文。
jacknian 2011-12-13
  • 打赏
  • 举报
回复
n久没搞MFC了,急切,希望高手帮忙啊!课设不搞就挂了!很急

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧