深入理解计算机系统 之 操作系统管理硬件

当shell加载和运行完hello程序,shell和hello程序都没有直接访问键盘,显示器,磁盘或者主存,它们依靠的是操作系统提供的服务。可以把操作系统看成程序和硬件之间插入的一层软件。


文件是对I/O设备的抽象表示。

虚拟存储器是对主存和磁盘I/O设备的抽象表示。

进程是对处理器,主存,I/O设备的抽象表示。

进程

操作系统实现交错执行的机制成为上下文切换

操作系统保持跟踪进程运行所需要的所有状态信息,这种状态,叫做上下文


图1-12为示例场景,图中两个并发进程:shell进程和hello进程。

  1. 起初,只有shell进程在运行,即等待命令行上的输入。
  2. 当我们让他运行hello程序时,外壳通过调用一个专门的函数(系统调用),来执行我们的请求。(操作系统保存shell进程的上下文,创建一个hello进程及其上下文,然后将控制权交给新的hello进程)

    3.hello进程终止后,操作系统恢复shell进程的上下文,将控制权传回给它,shell继续等待下一个命令行输入。

线程

一个进程可以由多个线程组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。

多线程之间比多进程之间更容易共享数据。

虚拟存储器

它是一个抽象概念为每个进程提供了一个假象,即每个进程都在独占地使用主存。

每个进程看到的是一致的存储器,称为虚拟地址空间


地址空间最上面的区域是为操作系统中代码和数据保留的,这是对所有进程来说都一样的。

地址空间的底部区域存放用户进程定义的代码和数据。

图中地址从下往上增大。

文件

文件就是字节序列。每个I/O设备,包括磁盘,键盘,显示器,网络都可以称为文件。


猜你喜欢

转载自blog.csdn.net/weixin_33957036/article/details/80887486