我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系

 

 

冯诺依曼体系与进程

目前我们所认识的计算机,都是由一个个的硬件组成的

输入单元:包括键盘鼠标,扫描仪,写板等

中央处理器CPU:含有运算器和控制器等

输出单元:显示器,打印机等

关于冯诺依曼,必须强调几点:

这里的存储器指的是内存

不考虑缓存的情况,这里的CPU只能对内部进行读写,不能访问外设(输入或输出设备)

计算机管理硬件:描述起来。用struct结构体

                          组织起来:用链表或其他的高效的数据结构

系统调用和库函数概念:在开发角度,操作系统会对外表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用

系统调用在使用上,功能比较基础,对用户的要求也相对较高,所以有心的开发者可以对系统调用进行适度的封装从而形成库,有了库就很有利于更上层的用户或者开发者进行二次开发

在没有学习进程前,操作系统是怎么管理进程的?   很简单:就是先把进程描述起来,再把进程组织起来

进程的基本概念:程序的一个执行实例,正在执行的程序等

             内核观点:担当分配系统资源(CPU时间、内存)的实体

描述进程-PCB:

进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合

课本上称之为:PCB,linux操作系统的PCB是:task_struct,它被装载到RAM(内存)里,并且包含着进程的信息

task_struct内容分类:

标识符:描述本进程的唯一标识符,用来区别其他进程

状态:任务状态,退出代码,退出信号等

优先级:相对于其他进程的优先级

程序计数器:程序中即将被执行的下一条指令的地址

 内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针

上下文数据:进程执行时处理器的寄存器中的数据

记账信息:可能包括处理器时间总和,使用的时钟总和,时间限制,记账等

 

组织进程:可以在内核源代码中找到他,,所有运行在里的进程都以task_struck链表的形式存在内核里

 

 

 

 

相关文章:

  • 2021-12-24
  • 2021-12-24
  • 2021-11-16
猜你喜欢
  • 2022-01-17
  • 2022-01-21
  • 2022-12-23
  • 2021-12-24
  • 2021-12-24
相关资源
相似解决方案