
不愧是华为内部的“操作系统学习笔记”,一篇说细节,一篇讲哲学
操作系统重要吗?当然重要,身为程序员的我们,那更应该深刻理解和掌握操作系统,虽然我们日常 CURD 的工作中,即使不熟悉它们,也不妨碍我们写代码,但是当出现问题时,没有这些基础知识,你是无厘头的,根本没有思路下手,这时候和别人差距就显现出来了&...
【学习笔记】小 O 带你掌握操作系统的心跳 - OneOS 内核启动
一、简介内核启动介绍了整个系统从硬件上电如何一步步进入用户程序的过程。一般情况下,启动过程分为硬件上电,首先运行和体系架构相关的启动汇编文件,进行一些最基本硬件的初始化 (例如 CPU 配置,时钟,栈地址,RAM 等),为内核运行铺垫好环境,然后初始化内核各模块 (例如调度器ÿ...
计算机操作系统学习笔记(14)——复习要点笔记
1.32 位和 64 位 CPU 最主要区别在于⼀次能计算多少字节数据: 32位一次4字节。64位一次8字节,称为CPU位宽 CPU 的位宽越高,一次能读取的内存指令越多22.CPU 的硬件参数都会有 GHz 这个参数,⽐如⼀个 1 GHz 的 CPU,指的是时钟频率是 1 G,代表着 1 秒会产⽣...
计算机操作系统学习笔记(13)——⾼性能⽹络模式:Reactor 和 Proactor
一、ReactorReactor 模式就是对 I/O 多路复⽤作了⼀层封装,让使⽤者不⽤考虑底层⽹络 API 的细节,只需要关注应⽤代码的编写。I/O 多路复⽤监听事件,收到事件后,根据事件类型分配给某个进程 / 线程。Reactor 模式主要由 Reactor 和处理资源池这两个核⼼部分组成,它俩...

计算机操作系统学习笔记(12)——I/O 多路复⽤:select/poll/epoll
这篇的内容相当重要的一、最基本的 Socket 模型Socket 的中⽂名叫作插⼝,双⽅要进⾏⽹络通信前,各⾃得创建⼀个 Socket,这相当于客户端和服务器都开了⼀个“⼝⼦”,双⽅读取和发送数据的时候都通过这个“⼝⼦”。这样⼀看,是不是觉得很像弄了⼀根⽹线,⼀头插在客户端,⼀头插在服务端ÿ...

计算机操作系统学习笔记(11)——零拷贝
一、DMADMA(直接内存存取)为什么要有 DMA 技术?没有DMA的时候,IO整个数据的传输过程,都要需要 CPU 亲⾃参与搬运数据的过程,⽽且这个过程,CPU 是不能做其他事情的。有了DMA技术。在进⾏ I/O 设备和内存的数据传输的时候,数据搬运的⼯作全部交给 DMA 控制器,⽽ CPU 不再...

计算机操作系统学习笔记(10)——文件IO
⽂件的读写⽅式各有千秋,对于⽂件的 I/O 分类也⾮常多,常⻅的有缓冲与⾮缓冲 I/O直接与⾮直接 I/O阻塞与⾮阻塞 I/O VS 同步与异步 I/O一、缓冲与⾮缓冲 I/O⽂件操作的标准库是可以实现数据的缓存,那么根据「是否利⽤标准库缓冲」,可以把⽂件I/O 分为缓冲 I/O 和⾮缓冲 I/O:...
计算机操作系统学习笔记(9)——页面置换算法
一、缺⻚异常(缺⻚中断)缺⻚异常(缺⻚中断)当 CPU 访问的⻚⾯不在物理内存时,便会产⽣⼀个缺⻚中断,请求操作系统将所缺⻚调⼊到物理内存。就需要「⻚⾯置换算法」选择⼀个物理⻚,把它换出到磁盘,最后把正在访问的⻚⾯装⼊到这个物理⻚中。 ⻚⾯置换算法的功能是,当出现缺⻚异常...
计算机操作系统学习笔记(8)——死锁
一、死锁多线程为了防止竞争共享资源⽽导致数据错乱,都会在操作共享资源之前加上互斥锁,只有成功获得到锁的线程,才能操作共享资源,获取不到锁的线程就只能等待,直到锁被释放。当两个线程为了保护两个不同的共享资源⽽使⽤了两个互斥锁,那应⽤不当的时候,可能会造成两个线程都在等待对⽅释放锁,这种情...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。