
操作系统/软件工程/计算机组成原理
文章平均质量分 85
Cacra
编程路上在探索。
展开
-
操作系统-程序计数器
查考资料:https://blog.youkuaiyun.com/xxb2008/article/details/42145649程序计数器是用于存放下一条指令所在单元的地址的地方。冯 ·诺伊曼计算机体系结构的主要内容之一就是“程序预存储,计算机自动执行”! 处理器要执行的程序(指令序列)都是以二进制代码序列方式预存储在计算机的存储器中,处理器将这些代码逐条地取到处理器中再译码、执行,以完成整...转载 2018-05-31 13:21:29 · 7358 阅读 · 0 评论 -
[操作系统]第二课
课程来源《操作系统_清华大学(向勇、陈渝)》还参考了文章:https://blog.youkuaiyun.com/github_36487770/article/details/549256961.操作系统的启动启动:计算机体系结构概述计算机内存和硬盘布局开机顺序中断、异常和系统调用:背景中断、异常和系统调用相比较中断和异常处理机制系统调用的概念系统调用的实现程序调用与系统...原创 2019-01-24 13:26:17 · 380 阅读 · 0 评论 -
[操作系统]第三课
课程来源《操作系统_清华大学(向勇、陈渝)》原创 2019-01-24 16:16:08 · 193 阅读 · 0 评论 -
[操作系统]第四课
课程来源《操作系统_清华大学(向勇、陈渝)》还参考文章:https://blog.youkuaiyun.com/github_36487770/article/details/54933265上节课是介绍连续内存,这节课介绍非连续内存。1.非连续内存分配:分段为什么需要非连续内存分配?连续内存分配有碎片、内存利用率低、分配给一个程序的物理内存是连续的缺点,对应非连续的优点:更好的内存利用和管理,...原创 2019-01-27 21:48:30 · 442 阅读 · 0 评论 -
[操作系统]第六课
课程来源《操作系统_清华大学(向勇、陈渝)》1.最优页面置换算法功能:当缺页中断发生时,需要调入新的页面而内存已满时,需要选择哪个物理页面被置换?目标:尽可能减少缺页中断(页面的换入换出)次数。具体来说,把未来不再使用的或短期内较少使用的页面换出,通常只能在局部性原理下根据过去的数据统计进行预测。页面锁定(frame locking):用于描述必须常驻内存的操作系统的关键部分,或时间关...原创 2019-02-02 01:24:51 · 588 阅读 · 0 评论 -
【操作系统】第七课
课程来源《操作系统_清华大学(向勇、陈渝)》进程描述、进程状态、线程、进程间通信、进程互斥与同步、死锁进程描述:进程定义、进程的组成、进程的特点、进程控制结构进程状态:进程的生命周期、进程状态变化模型、进程挂起模型1.进程的定义OS系统从只能跑一个程序到能跑多个。进程可以描述程序的执行过程。进程:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程(操作系统把写的程序调入...原创 2019-02-02 16:30:37 · 988 阅读 · 0 评论 -
[操作系统]第五课
课程来源《操作系统_清华大学(向勇、陈渝)》1.虚拟内存的起因起因、覆盖技术、交换技术、虚拟技术(目标、程序局部性原理、基本概念、基本特征、虚拟页式内存管理)内存越来越不够用,理想中的存储器是更大,更快,更便宜的非易失存储器。为了有效管理物理内存,采用了分段,分页,也许在这个基础上可以达到更大更快的理想情况,但数据随着掉电会丢失,硬件还达不到。仍然希望将不经常访问的数据放在硬盘中,...原创 2019-01-29 14:57:27 · 342 阅读 · 0 评论 -
【操作系统】第八课
课程来源《操作系统_清华大学(向勇、陈渝)》背景(CPU调度、CPU调度时间)、调度准则、调度算法、实时调度、多处理器调度、优先级反转1.背景上下文切换:1.切换CPU的当前任务,从一个进程/线程到另一个,2.保存当前进程/线程在PCB/TCB中的执行上下文(CPU状态),3.读取下一个进程/线程的上下文CPU什么时候上下文切换,怎么切换,主要看CPU调度。CPU调度...原创 2019-02-10 22:36:18 · 415 阅读 · 0 评论 -
【操作系统】第九课
来源:操作系统_清华大学(向勇、陈渝)1.背景知识同步互斥、临界区、死锁、互斥概念等等多道程序设计(multi-programming):现代操作系统的重要特征并行很有用:多个并发实体(CPU、I/O、用户、…)进程/线程:操作系统抽象出来用于支持多道程序设计CPU调度:实现多道程序设计的机制调度算法:不同的策略我们主要讨论协同多道程序设计和并发问题。独立的线程:1.不和其他线...原创 2019-02-11 00:27:43 · 241 阅读 · 0 评论 -
【操作系统】第十章
来源:操作系统_清华大学(向勇、陈渝)主要讨论:信号量、管程、条件互斥、经典同步问题1.背景并发问题:竞态条件多线程并发存在大的问题。同步:多线程共享公共数据的协调协行包括互斥与条件同步互斥:在同一时间只有一个线程可以执行临界区确保同步正确很难?需要高层次的编程抽象(如:锁)从底层硬件支持编译2.信号量这个信号量的概念来源自,我们临界代码访问资源时候,不一定互斥或者说上...原创 2019-02-11 13:08:50 · 289 阅读 · 0 评论 -
【操作系统】第十一章
来源:操作系统_清华大学(向勇、陈渝)1.死锁问题死锁:一组阻塞的进程(两个或多个),持有一种资源,等待获取另一个进程所占有的资源,而导致谁都无法执行。一组阻塞的进程持有一种资源等待获取另一个进程所占有的一个资源。例子:系统有2个磁带驱动器,P1和P2各有一个,都需要另外一个。由于进程的并发执行引起了死锁。2.系统模型死锁模型:1.资源类型:比如CPU cycles , memo...原创 2019-02-11 16:39:42 · 428 阅读 · 0 评论 -
理解同步、异步、阻塞和非阻塞
参考文章:http://maples7.com/2016/08/24/understand-sync-async-and-blocking-non-blocking/原创 2018-12-17 13:38:43 · 256 阅读 · 0 评论 -
存储器
本文参考《爱上单片机》这本书。程序无影无形,硬件实实在在,是存储器沟通了两者。对于程序来水存储器是一个空盒子,可以放入数据和语句,最基础的由1和0的二进制数组成。对于硬件来说存储器是一些开关组,每一个开关都有2个状态—“开”和“关”。1对应着“开”,0对应着“关”,程序世界与物质实体之间找到了沟通的管道。存储器是由一大堆开关组组成的,每一个开关都有“开”和“关”2种状态,每一个开关对应...原创 2018-11-02 08:51:07 · 1677 阅读 · 0 评论 -
模拟信号和数字信号
一个是波形,一个是数字; 一个是高低电平,一个是01010; 一个是连贯的,一个是断开的; 一个是自然的,一个是人工的。以录音和音频播放为例: 1. 我们说话,声音通过话筒,转换成了计算机可以识别的二进制(0/1)信号 ,储存在磁盘里面,这个储存的文件就是数字形式的;这类信号,就是数字信号; 采样频率不同,生成的音频文件大小也就不同;采样频率高。数字信号表示的是0,1代码;模拟信号是波型表示的...原创 2018-11-01 14:22:37 · 7878 阅读 · 0 评论 -
程序是怎样跑起来的(1)
《程序是怎样跑起来的》笔记第1章.对程序员来说CPU是什么1:程序是什么?指令序列,指示计算机每一步动作的一组指令。2:程序是由什么组成的?指令和数据,程序是指令和数据的组合体。3:什么是机器语言?CPU可以直接识别和使用的语言,CPU能够直接识别和执行的只有机器语言。4:正在运行的程序存储在什么位置?内存,硬盘等媒介上保存的程序被复制到内存后才能...原创 2018-06-26 10:12:18 · 3119 阅读 · 0 评论 -
程序是怎样跑起来的(2)
《程序是怎样跑起来的》读书笔记第6章:亲自尝试压缩数据1:文件存储的基本单位是什么?1字节(=8位),文件是字节数据的集合体。2:文件内容用“数据的值*循环次数”来表示的压缩方法是RLE算法还是哈夫曼算法?RLE算法,例如:AAABB这个数据压缩后是A3B2。像这样,把文件内容用“数据*重复次数”的形式来表示的压缩方法称为RLE(Run Length Encoding...原创 2018-06-27 10:39:38 · 939 阅读 · 0 评论 -
《构建之法》读书笔记
可以参考: https://blog.youkuaiyun.com/u011414200/article/list/4?t=1 https://zhuanlan.zhihu.com/p/36896480下面笔记是进行补充。第3章 软件工程师的成长工程师的核心技术和扩展知识: 怎么提高技能呢? 通过不断地练习,把那些低层次地问题都解决了,变成不用经过大脑地自动操作,然后才有时间和脑力来解...原创 2018-07-05 13:52:08 · 446 阅读 · 0 评论 -
《编码》读书笔记
主要可以参考:http://kaito-kidd.com/2016/04/20/code-note-01-10/ https://blog.youkuaiyun.com/decadent_2014/article/category/5658645原创 2018-07-05 15:12:19 · 419 阅读 · 0 评论 -
字符串编码:ASCII、GB系列、Unicode、UTF-8
对字符串编码进行汇总和区别编码的由来:计算机自己能理解的“语言”是二进制数,最小的信息标识是二进制数,8个二进制位表示一个字节;而我们人类所能理解的语言文字则是一套由英文字母、汉语汉字、标点符号字符、阿拉伯数字等等很多的字符构成的字符集。如果要让计算机来按照人类的意愿进行工作,则必须把人类所使用的这些字符集转换为计算机所能理解的二进制码,这个过程就是编码,他的逆过程称为解码。最...原创 2018-07-06 16:12:53 · 21590 阅读 · 0 评论 -
子网掩码、网络地址、广播地址的计算
参考文章: https://zhidao.baidu.com/question/2205705234723934228.html https://jingyan.baidu.com/article/ae97a646d936ddbbfd461d02.html例如 192.168.1.53/27 如何计算出它的子网掩码、网络地址、广播地址、可用的主机数和最大可容纳主机数、可用的IP地址。...原创 2018-07-21 16:45:53 · 58738 阅读 · 8 评论 -
开机后的第一条指令0xFFFFFFF0
可以参考文章:https://blog.youkuaiyun.com/u010383242/article/details/50586782转载 2018-07-31 19:26:52 · 2123 阅读 · 0 评论 -
本地的进程间通信—共享内存
共享内存介绍:共享内存式进程间通信中最简单的方式之一。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。共享内存允许两个或多个进程访问同一块内存,就如同malloc()函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其他进程都会察觉到这个更改。但有一点特别要注意:共享内存并未提供同步机制。也就是说,在第一个进程结束对共享内存的写...原创 2018-08-01 14:07:44 · 1011 阅读 · 0 评论 -
二进制文件、文本文件
先说结论:二进制文件和文本文件都是按照二进制存储的,只不过文本文件是把一个字节一个字节解读成字符,而二进制文件可以任意定义解读方式。在windows上,用记事本就可以打开文本文件了,但要打开二进制文件需要对应的二进制文件解码器,因此,文本文件是更为大家所熟知的文件形式,而二进制文件的优点在于它的输入输出都省去了转换的过程,而且更省空间。文件的读写过程: 磁盘— 文件缓冲区 ...原创 2018-08-11 14:19:21 · 20200 阅读 · 0 评论 -
持续集成、持续交付、持续部署
参考文章:http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html1.持续集成互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。持续集成指的是,频繁地(一天多次)将代码集成到主干。它的好处主要有两个:快速发现错误。防止分...原创 2018-10-05 23:02:41 · 405 阅读 · 0 评论 -
【操作系统】第十二章
来源:操作系统_清华大学(向勇、陈渝)1.总体介绍2.基本概念3.文件系统和文件4.文件系统的功能5.文件和块6.文件描述符7.目录8.文件别名9.文件系统种类10.虚拟文件系统11.数据缓存12.打开文件的数据结构13.文件分配14.空闲空间列表15.多磁盘管理-RAID16.磁盘调度...原创 2019-02-12 20:19:17 · 996 阅读 · 0 评论