• Read Asia Embedded fell


    first and foremost,

      很久没写了,心痒了,手贱了,于是乎在这一刻心静时,积攒的思绪开始回放了,惊世Copy-on-write之文随之面世了;

      臭毛孩子拉的 屎 特臭,小毛孩子前途黯淡,犹如小蝇虫趴在玻璃窗上;

      忧患致生,致强;安乐致死,致灭;

     Let's  go 随心悦动,随心狂放吧,能够超越的,等待去征服的,............;

    亲,若你以为ruiy哥的文章东扯,西说的,那就对了,为什么我不会告诉你,大脑在你脑袋上,我无法左右,最多一个人只能为一颗脑袋做主;

    哥认为,搞It的天天手操作键盘,请对它温柔些;

    动不动不要跑人家座位上问,你在干啥的,搞的啥?我无语了,跟你说很高深,你说在忽悠你,招你鄙视,说没啥,又说是忽悠,你妹啊,我忽悠你;

    搞技术的请少讲话亲!

    搞It的亲,最重要的还请一定记住下面这句话,不懂的面壁去;

      All problems in computer science can be solved by another level of indirection.

    多了一层间接必然是为了解决什么问题的?Do you Know? your Selection:No,Please learning!!

    干活高效(自我责任意识,拿人钱财,替人消灾嘛,至于拿多少?取决于你?潜意识的感觉那个什么太少,那先请努力的干,用心干...),高质量(取决个人,或是项目组每个成员的自身能量储备)是很有必要去追求的;

    做人要像计算机一样,说白了就像玩It的前辈一样,想方设法追求效率;

    CPU执行单元要访问内存数据,首先利用VM在cache中找是否有最近访问过的内存数据

    需求的指令数据无,则根据eip地址到内存去取aim data,你看人家取当前必要的数据时,也不忘顺便将邻近的几十字节上的指令数据一便弄到Cache中,以便用到时快速获取指令数据;

    一级缓存是用VA寻址的,二级缓存是用PA寻址的

    内存是通过&地址来访问;

    cache是通过va来访问;

    CPU寄存器通过CPU单元指令访问;

    内存访问,程序指令中的地址是VM,访问内存用的是PA,VM于PA之间的映射由操作系统维护;

    内存位于CPU外的芯片,2者直接通过地址总线,数据总线连接;

    硬盘位于设备总线,通过设备总线的控制器于CPU交互传送数据;

    由驱动程序操作设备总线控制器去访问。由于硬盘的访问速度较慢,操作系统通常一次从硬盘上读几个页面到内存中缓存起来,如果这几个页面后来都被程序访问到了,那么这一次读硬盘的时间就可以分摊(Amortize)给程序的多次访问了;

    除了访问寄存器由程序指令直接控制之外,访问其它存储器都不是由指令直接控制的,有些是硬件自动完成的,有些是操作系统配合硬件完成的;

    Cache从内存取数据时会预取一个Cache Line缓存起来,操作系统从硬盘读数据时会预读几个页面缓存起来,都是希望这些数据以后会被程序访问到。大多数程序的行为都具有局部性(Locality)的特点:它们会花费大量的时间反复执行一小段代码(例如循环),或者反复访问一个很小的地址范围中的数据(例如访问一个数组)。所以预读缓存的办法是很有效的

    与我们是现实有些许的不同啊,请记住,变则通,不变,生活会卡死你;

    clean:

    @echo "cleanning "

    -rm main *.o; 不提示错误信息;

    @echo "clean completed"

    .PHONY: clean(pseudo aim);

    ?= 先判断变量是否存在?

    := 遇到Makefile GNUmakefile makefile变量就展开

    定义变量值为空格

    NullString :=

    space := $(NullString) #end of line{注意,一个变量的定义从=后面的第一个非空白字符开始};

    :::::

    Makefile特殊变量
    $@,表示规则中目标;
    $<,表示规则中第一个条件;
    $?,表示规则中所有比目标新的条件,组成一个列表,以空格分隔;
    $^,表示规则中所有条件,组成一个列表,以空格分隔;
    无外乎涉及到的就是rule 中的 aim condition new/old?

     ulimit -c 1024允许系统Core Dump;

    信号相关函数;希望你能够看下函数原型就能够会简单使用,不会的面壁去,这么多年了,干嘛去了,当然哥这措辞话语是针对有经验的It大佬的啊,我这毒舌可不能伤及无辜哈;

    #include <signal.h>
    int kill(pid_t pid,int signo);
    int raise(int signo);
    int abort(void);
    #include <unistd.h>
    unsigned int alarm(unsigned int seconds);

    传输层及其以下的机制由内核提供,应用层由用户进程提供;

    应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到另一台计算机。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation);

  • 相关阅读:
    echarts中如何使用timeline组件
    vs发布项目webconfig替换语法
    [置顶] MVC输出缓存(OutputCache参数详解)
    signalr中Group 分组群发消息的简单使用
    echarts异步数据加载(在下拉框选择事件中异步更新数据)
    自定义bootstrap样式-9行样式自定义漂亮大气bootstrap导航栏
    OpenCvSharp 图像旋转
    mybatis获取刚刚插入到数据库的数据的id(转载)
    axios 发 post 请求,后端接收不到参数的解决方案(转载)
    sql 时间获取
  • 原文地址:https://www.cnblogs.com/ruiy/p/MeTo.html
Copyright © 2020-2023  润新知