• 宏观浅识操作系统


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

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

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

     

       

  • 相关阅读:
    数据库操作基类,实现对Sql数据库的各种操作
    Ubuntu下编译3.0.4内核
    wxPython控件学习之wx.BoxSizer
    How to check table locks
    python自带的minidom创建和解析xml
    How to check fragmentation on SQL Server 2005
    wxPython控件学习之wx.StaticText
    python代码批量更改文件后缀
    Eclipse自动补全增强
    深入分析Linux内核源码
  • 原文地址:https://www.cnblogs.com/79home/p/2530415.html
Copyright © 2020-2023  润新知