• 宏观浅识操作系统


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

    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.如何运行内存超载的程序?(交换技术和虚拟地址)

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

     

       

  • 相关阅读:
    asp.net获取服务端和客户端信息
    ASP.NET 中JSON 的序列化和反序列化
    Asp.net TextBox常规输入验证
    ADO.NET中的五个主要对象
    .Net一般处理程序来实现用户名的验证
    .net获取当前网址url(各种参数值)
    hdu-1941 Find the Shortest Common Superstring
    字典树的动态与静态模板
    模板 Dijkstra+链式前向星+堆优化(非原创)
    基础深搜小结
  • 原文地址:https://www.cnblogs.com/79home/p/2530415.html
Copyright © 2020-2023  润新知