计算机系统漫游
操作系统的两个基本功能
1、防止硬件被失控的软件所滥用
2、向应用程序提供简单一致的机制来控制复杂的低级硬件设计
这两个功能的实现依赖于几个基本的抽象概念:进程、虚拟内存和文件。
文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘的抽象表示,进程是对处理器、主存和I/O设备的抽象表示。
(怎么理解? 进程是对正在运行的程序的一种抽象,一个进程的状态其实就是处理器+主存+I/O设备的状态)
通过对进程上下文的切换,可以实现多个进程在单处理器上同时运行,且每个进程都可以认为自己单独地占用所有资源。
当应用程序需要内核态的某些操作时,需要执行一条特殊的系统调用,将控制权传递给内核,然后内核执行相应的请求并返回应用程序。需要注意的是,内核并不是一个独立的进程,而是系统管理全部进程所用代码和数据结构的集合。
虚拟内存
在Linux中,地址空间最上面的区域是保留给操作系统的代码和数据的,地址空间的底部区域是存放用户进程定义的代码和数据(只读的数据是和代码存放在一起的)

Amdahl定律
对系统的某部分加速时,其对性能的影响取决于该部分的重要性和加速程度。(适合分析串行系统)
277

被折叠的 条评论
为什么被折叠?



