1.进程
定义:一个正在执行的程序(简要的,后面会有详细注解)
进程的组成:
(1)一段可执行的程序
(2)程序所需要的相关数据(变量,工作空间,缓冲区等)
(3)程序的执行上下文(根本),执行上下文又称为进程状态
进程管理的方法:
可以用一个进程表来包含记录每个进程,表项内容包括指向包含进程的存储块地址的指针,还包含该进程的部分或全部执行上下文。
进程可以被当作数据结构来实现,他的进程状态都包含在他的上下文中
2.内存管理
系统管理员需要有效而又有条理的控制存储器分配,操作系统为了满足这些要求,担负着五个基本的存储器管理责任:
(1)进程隔离:操作系统必须保护独立的进程,防止互相干涉数据和存储空间。
(2)自动分配和管理:程序应该根据需要在存储层次间动态的分配,分配对程序员是透明的,因此,程序员无需关心与存储限制有关的问题,操作系统有效的实现分配问题,可以仅在需要时才给作业分配存储空间。
(3)支持模块化程序设计:程序员能够定义程序模块,并且动态的创建销毁模块,改变模块大小。
(4)保护和访问控制:操作系统必须允许一部分内存可以由各种用户以各种方式进行访问。
(5)长期存储:许多应用程序需要在计算机关机后长时间保存信息
操作系统通过使用虚存和文件系统机制来满足这些要求。
(1)文件系统机制主要实现了长期存储
(2)虚存机制允许程序从逻辑角度访问存储器而不考虑物理主存上可用的空间数量
分页系统///
大重点
页的定义:在分页系统中,进程由许多固定大小的块组成,这些块称为页。
程序通过虚地址访问字,虚地址由页号和页中的偏移量组成。
进程的每一页可以放置在主存中的任何地方。
分页系统提供了程序中使用的虚地址和主存中的实地址或物理地址之间的动态映射。
虚存区域:
一个进程的所有页都保留在磁盘中,当进程执行时,一部分页在主存中。
如果需要访问的某些页不在主存中,则存储管理硬件会检测到并安排载入这个缺页。
虚存方案中
存储器由主存和低速的辅存组成,主存可直接访问到,辅存则可以通过把块载入主存间接访问到。
地址转换硬件(映射器)位于处理器和内存之间。
程序使用虚地址,那么虚地址会被映射成真实的主存地址,如果访问的虚地址不在实际内存中,实际内存的一部分内容将换到辅存中,然后换入所需要的数据块。在这个活动过程中,产生这个地址访问的进程必须被挂起。
地址转换机制的开销越小越好
分页系统///
3.信息保护和安全
(1)可用性
(2)保密性
(3)数据完整性:保护数据不被未授权修改
(4)认证
4.调度和资源管理
(1)公平性
(2)有差别的响应性
(3)有效性
5.系统结构
(1)软件必须是模块化的
(2)分层放置概念和信息抽象用的越来越多
(3)现代操作系统的层次结构按照复杂性,时间刻度,抽象级进行功能划分。
总共分层太多。。在书的P56面
现代操作系统新的操作系统组织方法。
1.微内核体系结构
微内核体系结构只给内核分配一些最基本的功能
微内核方法可以使系统结构的设计更加简单灵活,很适合于分布式环境。
2.多线程
定义:把执行一个应用程序的进程划分成可以同时运行多个线程。
线程和进程的区别
线程:可分派的工作单元。它包括处理器上下文(包括程序计数器和栈指针)和栈中自己的数据区域。线程顺序执行,并且是可中断的,这样处理器就可以转到另一个线程
进程:一个或多个线程线程和相关系统资源(如包含数据和代码的存储器空间,打开的文件和设备)的集合。这紧密对应于一个正在执行的程序的概念。通过把一个应用程序分解成多个线程,程序员可以在很大程度上控制应用程序的模块性和应用程序相关事件的时间安排。
3.对称多处理
特征:
(1)有多个处理器
(2)这些处理器共享同一个主存储器和I/O设备,它们之间通过同信总线或其他内部连接方案互相连接。
(3)所有的处理器都可以执行相同的功能(所以才叫他们对称)
4.分布式操作系统
5.面向对象设计
面向对象设计的原理用于给小内核增加模块化的扩展。