一、硬件介绍: 由一条总线把CPU、内存和I/O设备串联起来并与其他设备进行通信。CPU负责运算,内存用于储存临时变量,硬盘用于储存数据。 1.1处理器CPU 从内存中读取指令--解码为二进制语言--执行指令,重复执行前面三个步骤直到程序结束。 寄存器--CPU的一部分,用于缓存一些比较重要待解决的 ...
分类:
其他好文 时间:
2017-03-23 23:40:04
阅读次数:
208
KVM源代码分析1:基本工作原理 下了很大决心挖这个坑,虽然之前对kvm有些了解,但纸上得来终觉浅,只有深入到代码层面,才能摈弃皮毛,看到血肉,看到真相。作为挖坑的奠基石,准备写上几篇:kvm基本工作原理、CPU 调度原理、KVM内存管理、KVM存储管理、KVM设备管理。挖好之后进入正题。 所有的虚 ...
分类:
其他好文 时间:
2017-03-23 16:17:09
阅读次数:
169
一.冯诺依曼计算机 1.1 对第一台电脑提出: (1)二进制代替十进制; (2)程序与数据一起放入内存中运行。 1.2示例:控制(操作码)与数据信息(操作数) 1.3一个典型的PC总线(Bus)结构 1.4华硕P5VD2-MX (1)主芯片组:VIA P4M890/VIA VT8237A(2)内存规 ...
分类:
其他好文 时间:
2017-03-23 01:33:46
阅读次数:
244
王一 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、linux 系统的状态 Linux在x86平台下支持0内核态和3用户态。在内核态32位平台能访问0x00000000以上的空间,而用户 ...
分类:
系统相关 时间:
2017-03-19 23:33:09
阅读次数:
233
进程和线程 进程的定义 进程是指一个具有一定独立功能的程序 在一个 数据集合 上的一次 动态执行 过程 进程的组成 进程包含了正在运行的一个程序的所有状态信息 代码 数据 状态寄存器 CPU状态CR0, 指令指针IP 通用寄存器 AX,BX, CX... 进程占用系统资源 打开文件。已分配内存... ...
分类:
系统相关 时间:
2017-03-17 23:13:53
阅读次数:
281
钟晶晶 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 工作过程 以41号进程dup为例,说明在应用程序如何使用Linux的系统调用。dup()复制一个打开的文件描述符,并返回一个新描 ...
分类:
其他好文 时间:
2017-03-17 15:57:45
阅读次数:
263
一、为什么要有操作系统操作系统是安装在一堆硬件之上,给应用程序提供底层环境,帮助应用程序操作硬件的软件系统,更简化了程序员的工作;工作在用户态的应用程序是不能抛开操作系统运行的。 二、操作系统的组成 操作系统位于计算机硬件和应用软件之间,从本质上说他也是一种软件系统,操作系统是有内核程序(运行于内核 ...
分类:
其他好文 时间:
2017-03-13 18:58:58
阅读次数:
177
编程语言的作用及与操作系统和硬件的关系? 编程语言的作用就是程序员和计算机之间的沟通介质,编程语言如果直接对硬件编程的话需要知道硬件是怎么工作的什么原理,这样开发难度大,时间长,如果直接对操系统编程的话,只需要操作系统提供接口就可以了,这样就简单很多; CPU与寄存器,内核态与用户态,如何切换? C ...
分类:
其他好文 时间:
2017-03-12 14:58:31
阅读次数:
264
先来回顾一下多线程和多进程把。多线程像是在一个国家内,由A点往B点搬运东西,一条线程就是一条路,多条线程就是开启多条路,然后每条路上可以运输东西。多进程就像多个国家,每个国家里面在执行自己的事情。 然后轮到今天的主角:协程出场 1.携程 corotine, 是一种用户态的轻量级线程,被称为微线程。是 ...
分类:
其他好文 时间:
2017-03-12 14:42:34
阅读次数:
273
一、编程语言 操作系统 硬件 编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 编程语言俗称"计算机语言",种 ...
分类:
其他好文 时间:
2017-03-11 19:37:33
阅读次数:
220