• 【学习笔记】程序员的自我修炼一:温故而知新


    前言:

         今天下定决心,坚持写博客的心,多加增强自己书写表达能力,刺激自己多加对技术的剖析。基于自己爱于c++的东西,很早就想知道c++的编译器方面深度的东西,此系列主要记录对“程序员的自我修养”书籍的学习。通过此书增强对编译器的了解。每周周末更新这部分的内容,坚持一周一章,若内容多久拆分多章,少则合并。

    ps:坚持一颗学习的心,丰富自己的知识,以程序为出发点,慢慢挖掘美妙的世界,享受生命。

    关键词:

          对称多处理器(SMP),多核,接口,多道程序,分时系统,多任务系统,进程,抢占,驱动程序,I/O,虚拟地址,隔离,分段,分页,线程,调度,写时复用,原子操作,锁,同步,过渡优化,

    一:计算机系统

    1:计算机核心部件:CPU,内存,I/O控制芯片

    2:系统架构的发展:简单总线布局---->南北桥的总线布局(CPU,I/O设备,内存的访问速率不同导致)

         南桥:磁盘,USB等设备连接到南桥(ISA总线结构);北桥:图像处理设备(3D)(PCI总线)

         内存:内存频率调制和总线频率一致(南桥的总线)

         CPU:频率过高,则采取倍频方式

    3:SMP表示多个CPU处理,真正的并发,多核,是指多个CPU核共用一个高端的缓存部件打包一起

    4:计算机软件的系统结构:硬件--->操作系统内核----->运行库----->应用软件/开发软件

    5:层次设计,利用接口联系,下层是接口提供者,上层是接口使用者。

    6:软件中断:利用类似硬件中断,硬件中断使用电平变化来触发,而软件中断是通过发送指令来触发,将用户态切换成管理者,将调用系统提供的接口函数。

    第二:三大部件的设计

    1:CPU

          CPU经历过,单一程序运行,多道程序,分时系统,多任务系统。多道程序是指多个程序可以同时运行(基于监视系统,不让CPU空闲,等待状态的程序,让出CPU,供给其他程序运行);分时系统:协作模式,即使程序不处于等待,也主动让出CPU,额外加了个时间片的东西(轮流上CPU);多任务系统:设计目的是防止因为某个程序死循环导致死机,于是,设计出一个东西,它的权限比操作系统需要低一级,也就是常说的进程,将程序分割多个进程,若是某个进程耗时很大,系统可以杀死它,而不会导致机器死机,另外不管,其他程序的进程也不会受影响。

    2:IO

         复杂的对设备访问,交给操作系统,操作系统与硬件打交道,完成接口,以供应用程序简单操作,比如库函数中的read只是读取磁盘的数据,不需要关心如何去读,对其是透明的。IO设备驱动程序,此部分是操作系统的一部分,具有操作系统的特权,但是它又独立于操作系统,以便其灵活性

    3:内存

      充分利用内存,将物理地址,进行虚拟化。也就是所谓的虚拟地址。每个程序的地址都是从0开始,但是映射到物理地址时,就不是了。这样开发者不需要关系实际地址位置,这样,这些复杂的映射关系就有操作系统完成。

          分段:将程序地址空间,通过映射到物理地址空间中,所占的部分就是为一段;分页:为了精细化管理分段,就采取分页,也就是说程序的内存变成了最小单位为页的空间,这样做会使得空间更能有效利用。

    第三:线程

    1:运行---->就绪----->等待,线程的三种状态,这样使得线程能够并行效果的执行。

    2:线程不通与进程,属于本身的资源少,易于切换,消耗小;方便调度,由此也带来了调度的复杂性

    3:线程安全解决措施:

        锁:二元信号,多元信号(松,可以被其他线程释放);互斥量(只能自己释放锁);临界区(严,必须是同一个进程里面的,获取锁);读写锁(共享方式,独享方式);条件变量(让同等待同一条,批量启动线程)

    4:过渡优化,是指编译器优化,以及CPU中的一些优化导致一些锁不起作用

  • 相关阅读:
    【STM32F429】第1章 当前主流的小型嵌入式GUI
    【STM32H7】第14章 UDP用户数据报协议基础知识
    【STM32F429】第14章 UDP用户数据报协议基础知识
    【STM32F407】第14章 UDP用户数据报协议基础知识
    【STM32H7】第13章 RL-TCPnet V7.X之创建多个TCP客户端
    【STM32F429】第13章 RL-TCPnet V7.X之创建多个TCP客户端
    【STM32F407】第13章 RL-TCPnet V7.X之创建多个TCP客户端
    【STM32H7】第12章 RL-TCPnet V7.X之TCP客户端
    【STM32F429】第12章 RL-TCPnet V7.X之TCP客户端
    迄今最强综合Demo,H7-TOOL的RTX5全家桶版本整体设计框架
  • 原文地址:https://www.cnblogs.com/miner007/p/5618687.html
Copyright © 2020-2023  润新知