代码编织梦想

异常控制流ecf-爱代码爱编程

大家好,我叫徐锦桐,个人博客地址为www.xujintong.com,github地址为https://github.com/jintongxu。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家访问

操作系统如何进行设备管理(预备阶)_设备驱动程序放在用户层吗-爱代码爱编程

前言:I/O设备管理既在操作系统也在计算机组成原理中都有涉及,但是他们的侧重点不一样,且讲解比较凌乱,这部分往往包含了很多领域的不同设备和与设备相关的应用程序,学习起来也比较模糊抽象。说真的,博主在计算机组成原理学了一

【进程管理】进程状态、前趋图、同步与互斥、调度、死锁、线程_三个信号量:互斥信号量s0-爱代码爱编程

计算机操作系统 📋导航 1. 操作系统概述2. 进程的组成和状态3. 前趋图🔥4. 进程资源图🔥5. 同步与互斥6. 信号量操作7. 死锁8. 线程 1. 操作系统概述 操作系统的作用:通过资源管

共享内存的基础概念,函数用法,linux相关命令和与内存映射的关系_共享内存映射-爱代码爱编程

共享内存 共享内存是一种允许多个进程或线程访问相同物理内存区域的技术。通过共享内存,不同的进程可以高效地共享数据和进行通信。共享内存是进程间通信(IPC)的一种方式,用于在独立的进程之间传递数据。 共享内存的概

内存管理_多级页表16k 4m-爱代码爱编程

1.内存使用与分段 程序写好后是存在磁盘中的,要想让程序运行起来,首先要将程序写入内存中。程序在编译时,找到内存一块空闲区域然后将程序写入内存中,PC指向开始地址。程序经过编译后转化为汇编形式的代码,会出现相对地址,这时需要进行重定位。 重定位:将逻辑地址转化为物理地址的过程。 重定位的方式主要有三种:a.编译时;b.写入时;c.运行时。 编译时重

什么是dma与零拷贝_dma和零拷贝-爱代码爱编程

一、IO 1. 传统IO CPU 发出对应的指令给磁盘控制器,然后返回;磁盘控制器收到指令后,于是就开始准备数据,会把数据放入到磁盘控制器的内部缓冲区中,然后产生一个中断;CPU 收到中断信号后,停下手头的工作,接着把磁

程序是怎么跑起来的笔记(第一章至第五章)_为什么内存上要生成exe的副本-爱代码爱编程

CPU的内部由寄存器、控制器、运算器和时钟四部分构成。 程序运行流程: 1.用c语言等高级语言编写程序 2.将程序编译后转换成机器语言的EXE文件 3.程序运行时,在内存中生成EXE文件的副本 4.在CPU解释并执行程序内

什么是i/o 多路复用:select、poll、epoll讲解_多路复用select和epoll原理-爱代码爱编程

前言 在BIO方式实现的Socket 模型中,可以通过多线程实现客户端请求并发处理,每个线程通过BIO的方式处理一个客户端长链接。但是这种方式在高并发的场景下并不适用,假如有一万个连接,系统就要对应维护一万个线程,空闲的连

操作系统 mit6.s081 lab3 page_book-爱代码爱编程

操作系统 MIT6.S081 Lab3 Page 实验原理 ① Xv6 在 64bit Sv39 RISC-V 上运行: RISC-V 的指令,不论是内核的还是用户的,操作的都是虚拟内存; Sv39 的配置下,只使

【操作系统】进程的描述与控制_操作系统:进程的描述与控制(进程描述,进程控制)-爱代码爱编程

【操作系统】进程的描述与控制 1. 前驱图和程序执行1.1 前驱图1.2 程序顺序执行1.3 程序并发执行 2. 进程的描述2.1 进程的定义2.1.1 进程控制块(PCB)2.1.2 进程的特征

linux中的五种io模型_linux 5种io模型-爱代码爱编程

Linux中有以下五种IO模型 一、同步阻塞IO(Blocking IO, BIO) 用户进程发起IO调用后就阻塞线程让出CPU,等待内核处理完毕返回结果再唤醒继续执行。 二、同步非阻塞IO(Non-Blocking

【操作系统】内存管理_存储管理代码-爱代码爱编程

文章目录 内存的基础知识什么是内存进程的工作原理指令的工作原理逻辑地址(相对地址)vs物理地址(绝对地址)从写程序到程序运行—编译、链接、装入装入的三种方式链接的三种方式 什么是内存管理?内存空间

使用7zip解压crc校验失败的zip文件_zipfile corrupt. (please check that you have trans-爱代码爱编程

前言 偶尔遇到一些zip压缩文件,使用unzip解压时会遇到类似“CRC校验失败”而导致解压失败的问题。这个时候可以考虑使用7zip来解压。 7-Zip 是一款拥有极高压缩比的开源压缩软件,支持常见的压缩格式,还具备修复

认认真真的聊聊“软“中断_硬中断标志-爱代码爱编程

认认真真的聊聊"软"中断 软中断与硬中断很像开启内核软中断处理的守护进程注册软中断向量表触发一次软中断总结 上一篇《认认真真聊聊中断》,其实讲的都是硬中断,注意是硬中断不是硬件中断哦,硬中断的概念

当内核收到了一个网络包_从网卡到内存-爱代码爱编程

当内核收到了一个网络包 从网线到网卡从网卡到内存注册硬中断处理程序硬中断 e1000_intr 干了什么注册软中断处理程序软中断 net_rx_action 干了什么协议栈的注册网络层处理函数 ip_rcv 干

【操作系统】死锁-爱代码爱编程

必要条件 互斥:每个资源要么已经分配给了一个进程,要么就是可用的。占有和等待:已经得到了某个资源的进程可以再请求新的资源。不可抢占:已经分配给一个进程的资源不能强制性地被抢占,它只能被占有它的进程显式地释放。环路等待:有两

【操作系统】分段、分页机制的理解_1m处理器为什么分段-爱代码爱编程

起因是上《操作系统高级教程》时,突然发现对这块的知识已经混沌了,所以重新总结下。 参考: https://blog.csdn.net/yzy1103203312/article/details/78529067 htt

操作系统从入门到入土(二)进程与线程_操作系统线程进程教程-爱代码爱编程

文章目录 进程与线程1.进程2.进程的组织3.进程的状态与转换4.进程控制5.进程通信6.线程 处理机调度1.调度2.调度的目标3.调度算法 同步与互斥1.进程的同步&互斥2.进程互斥的软硬

进程与线程 调度 信号量 临界区 死锁_临界区死锁-爱代码爱编程

2021.11.6 CPU调度策略 在系统调度的Schedule函数中,如果就绪队列中有多个进程,那么CPU应该如何选择? CPU调度的目标 让进程满意 尽快结束任务 周转时间短(从任务进入到任务结束),不能让进程

进程间通信方式——管道、消息队列、共享内存、信号量、信号、socket_消息队列 共享内存-爱代码爱编程

一、管道 所谓的管道,就是内核里面的一串缓存。管道传输的数据是无格式的流且大小受限,从一端写从另一端读,一个管道有写端和读端两个文件描述符fd。我们可以使用 fork 创建子进程,创建的子进程会复制父进程的文件描述符,两个