0102 操作系统、内存单元管理、Linux系统组成、Linux基本概念

 目录

  1. Linux初识
  2. linux和windows的区别

  3. Linux系统组成

  4. Linux基本概念

1 linux初识

  1.1 什么是操作系统

    就是一个软件,这个软件主要的功能就是管理我们的系统的资源的分配

      资源:资源分软件资源和硬件软件
        硬件资源:CPU 硬盘 内存 网卡
        软件资源:硬件资源会虚拟成软件资源

  1.2 MMU 内存管理单元

    内存:内存是一个硬件设备,但是我们如果要在系统当中使用内存,需要先把内存虚拟成一个内存页。具体一点 我们在python里面设置一个变量 打印id(a) 这个就是一个内存地址,这个内存地址就是一个内存页里面的一个地址

    举例: 内存就是一个大厦,而内存里面最小单位就是房间,而内存地址就是房间的门牌号码,如果没有门牌号码我们去访问某个住在大厦的人是非常痛苦的,只能从1楼开始每个房间去窍门,如果那个人住在顶楼你就悲剧了,而如果你知道你要找的人的门牌号码就可以直接上去敲他的门来找了
在现在的计算机里面有一个技术就是直接寻址

    比喻:大楼是内存,房间是内存单元,每个房间的坐标是物理内存地址,每个房间的房间号是虚拟内存地址;可以MMU可以将虚拟内存映射为物理内存地址,从而更加迅速的找到在内存单元里面的数据。
    一般我们在图书馆里面找书 我们可以根据分类来找到书的范围,然后一本一本的去看 来寻找,但是我们的直接寻址功能就不需要了,它是直接找到内存地址就可以去提取数据了
  也就是说CPU知道要访问数据的内存地址,就能直接到内存对应位置去访问数据了

  内存地址表示方式 内存地址其实是1个2进制数字来表示的 但是我们看到的是一般0x0ff0f0f0(十六进制地址) 其实是做了一个转换 把二进制转换成16进制

  1.3 还有一个问题 就是为什么32位的系统只能使用4G的内存    

    32位地址范围是从 0000 0000 0000 0000 0000 0000 0000 0000 到 1111 1111 1111 1111 1111 1111 1111 1111 啦(Ox00000000 ~ OxFFFFFFFF), 这里有几个地址呢? 明显是有 2^32 个啦.
    内存的寻址范围取决于地址总线的宽度,而不是寄存器的宽度, 比如32位地址总线只能产生2的32次方个不同排列组合 每个组合代表一个内存单位 就是这个内存单元的地址 而2的32次方就是4G
那么2^32到底是多少个? 2^32 = 4 * 1024(G) * 1024(M) * 1024(K) = 4294967296 , 就是4G 啊, 而每1个地址对应1个1个字节, 容量就是1byte, 所以2^32个地址就总共能对应应4GB 的内存容量啊, 这里的B指的是byte 字节啊。

    注意:内存限制4个G的地址是同一个进程只能使用4个G 如果我们使用多核CPU那么我们可以做多进程 就可以使用超过4个G的内存了 但是需要主要 我们需要开启PAE技术PAE技术 虽然当个进程能访问的地址空间任然只有4GB 但操作系统可以把超过4GB的内存分摊给多个不同的任务,每个任务能拿到的实际内存就更多了一些,系统整体性能就有提高 大部分PCU都支持PAE技术可以使用36位地址线 所以理论上可用物理内存总数上能到64GB大小 这也就是为什么linux ubantu32位系统可以使用超过4个G的内存;微软不开启PAE就是为了money  


"所有计算机科学中的问题都能通过增加一个中间转换层来解决"("All problems in computer science can be solved by another level of indirection")

  1.4 物理内存的分配

    

    物理内存 = 正在使用 + 可用

    正在使用 = 已修改 + 备用

    准备:内存管理使用了新技术——SuperFetch,微软认为空闲的内存就等于浪费,所以将磁盘上面常用的程序代码预先载入内存的区域,如果收到指令启动这个程序的时候就直接使用内存的数据库,而不必再到磁盘上读取数据,所以你能发现当某个程序启动过一次之后,下一次启动的速度将会很快,就是这个原因了

    "备用”状态  这部分内存则是用来存放SuperFetch缓存的数据的,虽然这部分也属于正在使员工状态,但是其他应用程序任然可以使用

    "已修改"状态  这部分内存由于正在使用,所以是不能释放给其他应用程序使用的,当Windows将其中的一些数据保存后才能释放,这部分空间越大,就可以减少往硬盘里写信息的次数,所以Windows7会根据你的物理内存大小分配一个合理的大小给这部分

    “可用”状态  这部分内存是未使用的内存

    

 

 2 linux和windows的区别

  2.1 性能差别

    windows的理念是 不管你要不要,我都给你
      如果你会改ghost系统 可能可以删掉一些帮助文档啊 等等一些附加的文件 但是核心文件和优化还是非常麻烦 还有一点就是windows是图形化 无形中会消耗我们的系统资源,而这些资源是没有必要浪费的

    linux是开源的

      我们可以定制我们的系统 并且非常好优化 默认启动的服务非常少

   2.2 区别(linux优化什么都可以改)

    windows 我想让你改的你才可以改 我不想让你改的 你改不了 没有选择
    windows server版本 收费 linux 系统不收费 服务才收费

      问题 我们在企业当中 linux好还是windows好

        按照目前的情况来看 虽然windows还有服务器版本的 但是大部分公司的主要服务器还是以linux为主 不管是成本还是性能还有安全性方面 linux都比windows相对来说好一点
      目前的情况是很多windows转linux的,很少有linux转windows因为linux相对来说难一些 因为如果你经常弄linux服务器你会对计算机的原理 在不知不觉当中熟悉,如果要需要了解windows上手是非常快的,windows的各种服务都有成熟的解决方案 按照文档做就可以了

   2.3 总结

    Linux比Windows好

 

3 Linux系统组成

  3.1 内核

    系统接口调用

    内存管理

    文件系统管理

    进程管理

    硬件驱动

  

  3.2 shell 系统的一些常用命令 帮助我们完成一些操作

  3.3 文件系统 系统文件 和文件管理系统

  3.4 应用程序 用户空间的一些常驻程序 比如ssh

 

4 Linux基本概念

  4.1 一切皆文件

  4.2 LINUX中的大小写是非常敏感

  4.3 所有的系统管理都通过配置文件来控制

 

posted @ 2017-06-07 10:39  寻渝记  阅读(275)  评论(0)    收藏  举报