宏观浅识操作系统

这两天翻了翻操作系统,记下几点新认识

1 以数据为核心看计算机结构

   cpu:处理数据

   内存:缓存数据,便宜cpu存取数据

   硬盘(代表I/O):持久化数据(表现数据)

   关系:

   1. cpu和内存:访问速度快,cpu通过系统总线能直接存取内存中的数据

   2. cpu和硬盘:不能直接访问,通过DMA来处理,整个流程如下:

       1、cpu发出读取硬盘数据指令,cpu将系统总线控制权限交给DMA控制器;
       2、DMA将数据从硬盘读入内存;
       3、cpu从DMA接管总线控制权;
       4、cpu向内存发出读取数据命令;
       5、cpu对数据进行运算处理,同时和内存进行必要的数据交换;
       6、运行结束后,如果有外设存取操作,CPU将结果数据发送到硬盘。

2 操作系统中的几个抽象及原因

  (这里只写到一些问题,而没有叙述解决方案,question create reality)

  进程与线程:进程的产生原因是模拟并控制并发,产生线程的原因是1.系统调用时阻塞线程而不是阻塞整个程序2.并行实体共享同一个地址空间和所有可用数据.换个角度理解,进程用于把资源集中到一起,而线程则是在cpu上被调度执行的实体.

  地址空间和虚拟内存:为了运行多个程序,需要把程序先载入到内存,这里存在几个问题:

  1.如何让多个程序不访问相同的内存地址?(地址空间)

  2.如何让程序独立私有的本地地址重定位到内存地址?(MMU)

  3.如何运行内存超载的程序?(交换技术和虚拟地址)

  文件:文件的抽象是为了对硬盘信息更好的管理,比如存储和检索信息,只需要把文件看成一种地址空间即可

 

   

posted @ 2012-06-01 11:10  _SharpCode  阅读(1056)  评论(0编辑  收藏  举报