如果你是一名编程爱好者,想要自己动手开发一款简易版操作系统,那么你一定需要一份功能清单。那么开发一个操作系统需要实现哪些功能呢?我们来看一下
操作系统主要功能
1. 处理机管理(CPU)
1. 进程控制
提供OS创建/销毁进程,给进程分配/回收资源,为进程创建线程,控制进程运行过程中状态转换等功能
2. 进程同步
由于进程是异步运行的,同时运行的多个进程都要使用cpu,那如何管理才能让多个进程有条不紊的进行呢?进程同步就是干这个事,它能协调好各个进程使用资源的次序
3. 进程通信
让多个进程可以进行数据交换,得以实现相互合作
4. 调度
能够从后备的作业队列中选择出若干作业创建进程,得以妥善利用资源
2. 存储器管理(内存)
1. 内存分配
在进程创建时为进程创建内存空间,以及动态扩展的能力,并能在进程退出时回收内存空间
2. 内存保护
为每个进程的内存空间设立界限,以保证内存数据安全
3. 地址映射
分配内存空间时总不能每个进程都从0地址开始分配吧,这样会把上一个进程的内存空间覆盖,因此要有个地址映射表记录每个进程的地址,下一个进程创建时就从新的地址开始分配
版权声明:本文为u012077155原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。