- 博客(5)
- 收藏
- 关注
原创 操作系统——饥饿、死锁、死循环的区别
这三个现象的共同点是,它们都是进程发生了某种异常的状况而无法继续往下推进的现象(故意设计的死循环除外),在考研选择题中可能会考察,所以要注意区分。
2023-04-25 10:18:40
976
原创 最小子网的地址数问题
同时,因为子网并没有划分完,还有3,4,5号子网存在,为了与3号子网相区别,应该启用第二位,用第二位的0和1来区别子网2和3。按照分析的思路,第一个子网可分配的主机数应该最大,12位可分配的位数中最多能拿出11位来做主机号,那剩下的1位就是子网号,我们用0来标记子网1。同上,用第四位的0和1来区别子网4和5。注意此时子网划分完毕,子网5是最后一个子网,所以不必启用下一位,子网号最多是4位。同样的道理,3号并不是划分的终点,还有4号,所以启用第三位,用第三位的0和1来区别子网3和4。
2023-04-20 20:32:21
1218
1
原创 一篇文章让你秒懂内存对齐
为什么会有内存对齐? 平台原因:不是所有的硬件平台都能访问任意内存地址上的任意数据,某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。为了同一个程序可以在多平台运行,需要内存对齐。 硬件原因:经过内存对齐后,CPU访问内存的速度大大提升。 下面我们来看看CPU是怎么访问内存的ψ(`∇´)ψCPU读取内存不是一次读取单个字节,而是一块一块的来读取内存,块的大小可以是2,4,8,16个字节,具体取多少个字节取决于硬件。假设CPU把内存划分为4字节大小的块,要读取一个
2022-05-04 20:01:20
398
原创 学习算法第一步:理解时间复杂度
时间复杂度是一个函数,它定性描述该算法的运行时间。我们在软件开发中,时间复杂度就是用来方便开发者估算出程序运行的答题时间。算法导论给出的解释:用来表示上界,当用它作为算法的最坏情况运行时间的上界,就是对任意数据输入的运行时间的上界。拿插入排序来说,插入排序的时间复杂度我们都说是O(n^2) 。输入数据的形式对程序运算时间是有很大影响的,在数据本来有序的情况下时间复杂度是O(n),但如果数据是逆序的话,插入排序的时间复杂度就是O(n^2),也就对于所有输入情况来说,最坏是O(n^2) 的时间复
2022-04-28 09:00:00
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人