操作系统图解

图解操作系统——操作系统概念和发展 操作系统概念和发展 阅读详情

    重读William Stallings的Operating System的个人总结,未涉及安全和分布式部分(这部分在英文版中被阉割了)。

上一张完成的大图,然后再慢慢画起(在每个图后面加链接看大图)。另外这里只是简单的知识点罗列,同样发布了一篇完整的(2w字,还没来得及校对)总结,欢迎查看。

操作系统图解大图

    计算机组成

操作系统图解
    先从最简单的开画,这里计算机的组成员工就三层:应用程序、操作系统、硬件。操作系统的作用是管理资源(各种硬件、计算资源、时间等),职称程序的运行(提供了必要的库支持)。



    硬件层

操作系统图解
    先来看硬件层东西:
    CPU:快的不得鸟的东西,它总是被人拖后腿,所以有了跟中缓冲。除此还可以考虑下CPU性能提升的技术:流水化、超标量设计、多核心。
     主存:除去CPU的高速缓冲,最快的就是主存了。当时数据不能永久保存、价格高是硬伤。
     总线:连接了所有设备。又分为多级总线,总线设备之间冲突的解决因此需要总线决策。
     I/O设备:各种输入输出。进化过程:可编程I/O、I/O中断、DMA。
     局部性原理:分为空间局部性和时间局部性,这是缓存有价值的基础。



    操作系统&进程

操作系统图解大图



    操作系统目标:

  • 方便:提供方便的交互和资源管理
  • 有效:分配资源,更有效的资源利用(内存管理、处理器调度、I/O调度等)
  • 扩展能力:不中断服务增加系统特性的能力
     操作系统发展:
    串行-->简单批处理-->多道程序批处理-->分时系统
  • 串行:这个时候根本就没有操作系统概念。
  • 简单批处理:人工组织任务,操作系统负责调度完成一个后继续下一个,省下了每次人工复位输入任务的时间。
  • 多道程序设计:最计算资源有了时间片划分,CPU不用因为一个进程I/O阻塞而空转了。
  • 分时系统:计算资源昂贵的背景下,每个用户的分时。
    进程:
    程序执行的最小单位。进程的组成包括:用户程序、数据、栈、进程控制块。
    进程状态切换:
    五个状态如上图:新建、就绪、运行、阻塞、退出
    进程的切换:
    将进程切换到硬盘的特定区域,目的是追求更多的进程可以同时运行——因为即便引入了多道程序设计CPU仍然很空闲(其它设备太慢了,特别是I/O),所有越多的进程进入进来,CPU的利用率越高。
进程执行模式

    内核模式、用户模式,模式区分的目的是对进程功能的限制,高风险的CPU指令应该只有操作系统可以执行。    

操作系统图解大图
    聊完进程聊线程,一个进程可以是多线程的。有了进程之后还要有线程的原因是进程的换入换出、数据交换开销太大,线程远远小于进程的开销。首先,进 程之间通信需要获取共享资源锁,而同一进程内的线程完全享有进程获得的资源,也因此线程的编写要特别注意同步问题。第二,进程的创建成本很高,涉及空间分 配、初始化栈、初始化数据等,而线程的创建成本低很多可以包括操作系统创建和进程调用库自己创建。于是有了两种不同类型的线程——用户级别和内核级别。第 三,多道程序设计中线程的换入换出比进程来得快多了,因为不需要保存进程控制块等一大堆数据嘛(当然要保存线程控制块,但是成本很低)。最后,销毁成本 低。
    说到线程的两种类型——用户、内核。用户级别的线程是进程调用线程库创建的,对操作系统是透明的,是进程中通过代码实现切换的因此因此一旦一个线程引起了 I/O阻塞从操作系统的视角就是进程阻塞,所以要阻塞整个进程;而内核级别的线程是操作系统创建的,所以该阻塞线程的不会阻塞整个进程,当然效率也就没有 用户级别的高。
    多线程的应用场景:
  • 用户界面和后台数据运行:用户界面渲染和后台数据运算使用不同的线程,没有喜欢后台一运算界面就卡死的程序吧。
  • 异步计算:不如实时备份,一个线程定时触发就可以了,没必要进程定时的检查是不是该备份了。
  • 速度敏感的计算:可以并发计算的、多核处理的,在计算和组织上线程更具优势。
  • 模块化:模块化的程序有时候很适合用多线程来设计。

并发性

操作系统图解大图

    多道程序设计带来了效率的提升也带来复杂性的提升。进程之间、线程之间的竞争可能会坏菜,有几种方式导致坏菜——竞争条件、死锁、饥饿。竞争条件——多个 进程同时访问一个资源,最后状态与各个进程的竞争顺序敏感;死锁:多个进程各持有一个资源请求另外的资源,大家互不相让;饥饿:竞争不过的进程一直得不到 所请求的资源,结果耗着不动了。
    有三个经典的并发问题:

  • 生产者/消费者:消费者不能消耗还没来得及生产的资源,生产者不能在容器满了以后继续往里面塞。
  • 读者/写者问题:资源可以被多个进程读,但是同一时间只能有一个写者并且写者与读者互斥。
  • 哲学家就餐问题:这个是一个死锁的问题,五个哲学家没用要用两个叉子吃饭,他们先拿起左手叉子,再拿起右手叉子,然后进餐,然后释放叉子。桌上一共五个作为五把叉子,如果哲学家同时坐下就会发生死锁。
    互斥:进程间尝试访问不可共享的资源时应该是互斥的,这个资源成为临界资源(critical resource),程序中访问临界资源的代码段成为临界区。
    既然有竞争和并发,就需要提供必要的支持。一种是硬件提供的如CPU特定的指令Compare&Swap、Exchange等,这种方案有一个要 命的问题是效率差需要忙等待,另外还有死锁和饥饿的问题,软件级别提供的支持是更好的途径,包括信号量、监视者、消息传递。
    关于并发性的支持很好的解决了竞争条件的问题,下一个问题是死锁。操作系统对死锁的解决方案包括三个区域:死锁的预防、死锁的阻止、死锁解决。
    死锁的预防目的在于阻止死锁形成条件中的一个的形成,这里有四个条件:进程互斥、存在持有和等待(资源)、不存在抢占、形成环路。总的来说死锁的预防存在不可能实现(进程互斥)、条件苛刻、效率地等问题。
    死锁的阻止这是更加实际的途径,有两个切入点:1,进程预先声明需要的资源,只有资源满足情况下才允许进程启动——效率低。2,只有不会导致死锁情况下才分配资源给进程。
    死锁的解决,这个听起来有点粗暴。前提条件是死锁可以回滚,一旦发生了死锁就取消所有进程,回滚到之前的状态重新竞争,并不断重复类似的过程——由于竞争的不确定性,最终一定会解决死锁。



内存管理

操作系统图解大图


    这块大概是最精彩的了。先说内存分区的集中方式——固定大小,等大小的划分限制了进程大小并且存在明显浪费(每块尾部都有剩余),稍微改进一点变成不等大 小的固定划分一定程度上能加入更大的程序了,但是限制仍然存在效率也非常低——很多内部碎片。动态划分,来一个进程划分一块的方式会产生外部碎片,需要不 断的进行压缩才能保证有足够的连续空间给新进程。分页,把内存划分成固定大小的很多小块需要页表的支持,但是内存的利用提高了很多,会产生很少的内部碎 片。分段,很分页的思路一样都是进程可以划分到不连续的内存区域中,需要段表支持。段页结合,每个段内划分成页,这样进程更利于数据共享(分段的便利), 同时消除了外部碎片(段释放后无论如何都是若干页),存在少量的内部碎片。
    还有一处漂亮的地方是虚拟内存,由于局部性原理。进程中常用的数据往往只是一部分,其它部分只有在需要时在换入就可以了。在进程运行过程中常驻内存的部分称为常驻集。虚拟内存作用就是在硬盘上划分了一块区域用于进程的换入换出,虽然硬盘也很慢但是比它更慢的是I/O,有了虚拟内存就能把阻塞的进程及时换出,换入就绪进程的部分或者全部,让更多的进程同时运行提升CPU的利用率。
    有了驻留集的感念就该涉及到驻留集的管理了,首先驻留集可以有几种分配方式:


  • 固定分配,局部范围:每个进程的驻留集是固定不变的,在进程启动时决定,块的换入换出总发生在进程内部。
  • 动态分配,局部范围:进程的驻留集是动态调整的,内存块的交换限制在进程内部(即一个进程的数据被请求时,只能替换自己的块出去)
  • 动态分配,全局范围:同上,但是在替换策略上可以换成任意进程中的内存块。
    在驻留集固定分配情况下,页的替换策略包括:先入先出、最近最少使用、始终。
    当驻留集动态分配时,页的替换策略变得更精彩:工作集(很理想,开销太大)、页错误频率(定期查看频率,决定扩充或清理)、采样间隔可变的工作集(考虑页错误频率在局部性发生偏移时或膨胀的改进方案,间隔时间是可变的)。
    除此以外还有加载侧路的问题——多道程序设计导致加入的进程太多时,同样会导致每个进程的驻留集太小导致页错误率居高的情况。


处理器调度

操作系统图解大图
    处理器调度在单处理器和多处理器的系统中呈现出完全不同的侧重,单处理器的情况下系统CPU利用率、响应时间称为非常重要的关注点,多处理器下由于计算资 源较多响应时间能够很好的保证,CPU的利用率变得不太重要,如何能有效的减少进程交换、线程依赖导致的阻塞等成为了更关注的点。在单处理器下进程的调度 策略包括:


  • 先来先服务:最简单、最懒的办法,效果一般,偏向于长进程。
  • 轮转:平均分配每个进程的时间,增加了进程的切换次数,对I/O密集型的进程不公平。
  • 最短进程优先:需要估计进程的运行时间,偏向于短进程。
  • 最少剩余时间优先:上面策略的抢占版本,有助于提高吞吐率,但是如果短进程不断到来,长进程可能会饥饿。
  • 最高响应比优先:(w+s)/s,w为等待时间,s是服务时间,偏向于短进程,但是当长进程等待时间不断增加时它的响应比会增大,最后超越短进程。
  • 反馈:不需要估计进程运行时间的策略,分多级优先级递减的队列,进程运行中会被超时中断,加入到次一级的队列中。也就是运行时间越长优先级会越低,同样可能导致长进程饥饿,因此在等待时间超过一定长度时尝试把进程重新拿到高优先级队列来。
    多处理器的调度则不太相同,主要关注多线程的调度策略包括:



  • 负载分配:任务池和处理器池,始终保持处理器忙碌。
  • 组调度:考虑到线程间可能存在依赖的情形,一组相关的线程分配一对一的处理器同时运行。
  • 专用处理器分配:组调度的升级版,对进程分配特定的处理器,进程内的所有线程在专用处理器上运行直到进程运行结束才回收处理器。
  • 动态分配:进程的线程数可以动态改变,由操作系统和程序共同决定分配和负载。

I/O调度


操作系统图解大图
    I/O功能的逻辑结构
            逻辑I/O:逻辑I/O层将I/O设备视为逻辑资源,不关心底层的细节。逻辑I/O代表用户进程管理的一般I/O功能,允许它们根据设备标识符以及诸如打开、关闭、读取等操作与设备打交道。
            设备I/O:请求的操作和数据(缓冲的数据、记录等)被转换成适当的I/O指令序列、通道命令和控制器指令。可以使用缓存技术以提高使用率。
            调度和控制:关于I/O操作的排队、调度和控制发生在这一层,可以在这一次处理中断,收集和报告I/O状态。这一层是与I/O设备真正打交道的软件层。
    I/O的慢是出了名的,所以更需要缓冲,需要指出的是缓存是一种技术旨在平缓I/O请求峰值的,当进程需求的I/O平均值大于I/O传输速度是再多的缓冲也不能解决问题。

  • 单缓冲:系统在发送I/O指令后给I/O设备分配一块位于主存中的缓冲区,传输数据被放在缓冲区中,当传输完成时立即尝试读取下一块。根据局部性原理有理由期望下一块被读取,这种机制称为超前读。
  • 双缓冲:单缓冲时I/O设备必须等待读 取缓冲区中数据被完全读出才能再次写入,双缓冲设置两块缓存区域以平滑这种趋势。设C为进程处理块的时间,T位读取块的时间,我们可以粗略估计块的执行时 间位max(C,T),当C>=T是进程将不需要等待I/O,当C<t是则i o设备可以全速运行。<="" span="">
  • 循环缓冲:当爆发性的执行大量的I/O操作时,则仅有双缓冲就不够了,这种情况下使用多于两个缓冲的方案来缓解,这种缓冲区域自身被当成循环区域使用。
    除此以外,还有一个不是那么慢的重要设备就是磁盘了,磁盘的耗时一共分三部分:寻道时间,磁头臂移动到磁道的时间这个是最大的消耗;旋转延迟,找到磁道以 后转到读取数据位置的时间,一般认为是1/2r,r是转速;数据读取时间,读数据的时间是与数据多少相关的。硬盘调度的策略目的在于减少磁头臂移动的次数 和距离,主要是利用了局部性:



  • 先进先出:先来的请求先服务,由于数据的请求式随机的,会导致较高的寻址时间,效率差。
  • 优先级:优先级是高优先级的请求先服务,一般是为了满足操作系统的特定目的,并没有改善磁盘性能的能力。
  • 后进先出(LIFO):令人惊讶的是这 种选取最近请求的策略有许多优点。把设备资源提供给最近(使用系统)的用户时会导致磁头臂在一个顺序文件中移动时移动的很少,甚至不移动。利用这种局部性 原理可以提高吞吐量减少队列长度,只要一个作业积极的使用磁盘它就能尽快得到处理。
  • 最短服务时间优先(SSTF):总是选择磁头臂移动最少的请求响应,对于移动距离相等的请求可以随机移动向一边。同样如果一个进程大量的请求临近的数据会导致其它请求饥饿。
  • SCAN:SCAN要求磁头臂向一个方 向移动,移动过程中响应在当前磁道的请求。当磁头臂到达最外(内)层磁道时,再反向扫描。这种算法并没有很好的利用局部性原理(对最近横跨过的区域不公 平,不如SSTF和LIFO好),由于两侧的数据被快速的扫描了两次因此它偏向于外围数据(局部性原理)。
  • C-SCAN:限定在一个方向扫描,当达到最后一个磁道时,磁头臂返回到相反方向的磁道末端重新开始扫描。
  • N-step-SCAN和FSCAN: 为了克服进程的粘滞性,在SCAN和C-SCAN中一个或多个进程对一个磁道有较高的访问速度时可能会垄断这个磁道一段时间。N-step-SCAN设置 若干个N个请求的队列,每次扫描只响应一个队列里的请求,当开始扫描时新的请求需要加入到下一个队列中。
    除了好的调度策略,另一个减少开销的办法是在主存中建立硬盘的高速缓冲,进行预读。高速缓冲的替换策略包括:



  • LRU:最少访问,将缓冲区设置为一个栈,当一个块被访问后加入到栈中,如果再次得当访问则把该块从当前位置移动到栈顶,随着块的加入那些不被访问的将会挤出栈中。
  • LFU:最小频率访问,对缓存中的块增加计数特性,每次被访问到时计数加1。当访问辅存时,把计数最小的块移除,加入最近的块。由于局部性的问题,一个块可能短时间内多次访问使得计次很高,但是这之后并不意味着还会再次访问它,所以LFU并不是一个好的算法。
  • 基于频率的替换算法:克服LFU的确定,在LRU的栈模型中划分出位于栈顶的若干帧为新区,当块位于新区是重复访问不增加访问次数。

文件管理

操作系统图解  大图
文件结构:
  • 域(Field):基本的数据单元,一个域包含一个值,如雇员名字、日期等。
  • 记录(Record):一组相关域的集合,可以看做应用程序的一个单元。
  • 文件(File):一组相关记录的集合,它被用户或应用程序看做一个实体,并可以通过名字访问。
  • 数据库(DB):一组相关数据的集合,它的本质特征是数据之间存在着明确的关系,可供不同的应用程序使用。
文件组织和访问
  • 堆:最简单的文件系统。数据按它们到达的顺序被组织,通过特定的分隔符或特定的域指明。每个域应该是自描述的,数据之间不一定存在联系或相同的格式。当数据在处理器采集并存储时或者当数据难以存储时会用到堆。只能穷举搜索,对大多数应用都不适用。
  • 顺序文件:文件具有固定的格式,所有的记录都有相同的格式,具有相同数目、长度固定的域按照顺序组成。每条记录第一个域称为关键域,唯一标识了这条记录。交互的表现较差,需要顺序的搜索。一种情况下顺序文件按照顺序存储在磁盘上,在发生文件修改时需要移动数据,可能的处理方式是把数据存在临时堆上,定期的将数据批量写回顺序文件。另一种情况文件可能采用链式存储,该方法带来一些方便,但是是以额外的处理和开销为代价的。
  • 索引顺序文件:弥补了顺序文件检索的问题。检索文件可以是简单的顺序文件,每条记录包括两个值一个关键域和指向文件的指针。简单的检索可以是一级的,也可以由多级检索。查找文件时找到相等的域或者关键域值之前最大的域。
  • 索引文件:顺序文件和索引顺序文件只能是顺序检索或对关键域检索,索引文件对感兴趣的域提供了索引,索引文件本身可以是顺序的。索引文件分为完全索引和部分索引,差别在于被索引的域是全部域还仅仅是感兴趣的域。索引文件一般只提供索引访问的方式,不再支持顺序访问,因此记录的组织也不必是顺序的,应用程序只能通过指针访问。
  • 直接文件或散列文件:直接文件或散列文件开发直接访问磁盘中任何一个地址一致的块的能力,要求每条记录中都有一个关键域,但这里不存在顺序的概念。

二级存储管理
文件分配
        预分配:文件请求时声明需要的空间,一次性分配。
        动态分配:根据文件的增长每次分配一定的空间,或者一块。
分配方法:
  • 连续分配:始终给文件分配连续的空间。这种分配方式对于顺序文件非常高效,并且可以简单的检索到需要的文件块。但是会产生外部碎片,并且需要实时运行压缩程序以消除外部碎片。
  • 链式分配:文件不需要顺序保存,每块尾部通过指针指向下一块数据,文件分配表中同样只要保存一个表项。链式分配的一个后果是局部性不再被利用,如果要顺序的读取一个文件时需要一连串访问磁盘的不同部分,这对系统的影响很严重。一些系统周期性的的对文件进行合并。
  • 索引分配:每个文件在文件分配表中有一个一级索引,分配给文件的每个分区在索引中都有一个表项,典型的文件索引在物理上并不保存在文件分配表上,而是保存在独立的一个块上,文件分配表中该文件索引指向这个块。可以消除外部碎片,按大小可变的分区分配可以提高局部性,任何情况下(大小可变分区、按块保存)都需要不时的对文件进行合并。使用大小可变的分区情况下合并可以减少文件索引。索引分配支持顺序和直接读取数据,是最普遍的一种文件分配形式。
空闲空间管理
  • 位表:每块占用一位,如果被占用了用1表示否则用0,占用的空间很小,并且需要在主存中,需要顺序的检索空闲空间,当剩余空闲空间很小时效率非常低。
  • 链式空闲区:几乎不需要保存空间,每个空闲块直接通过指针连成链状,寻找连续空间的效率比较低,无法利用局部性。
  • 索引:通过索引指明空闲的区域和长度,在大小可变的分配下很有效。
  • 空闲块列表:最常用的方法。通过栈保存了每块空余区域的地址,由于可以部分加载在主存中所以有很高的效率。



来自: http://my.oschina.net/pangyangyang/blog/188508
操作系统(图文详解) 阅读详情

相关推荐

阿里P8大牛整理的300页图解网络知识+计算机底层操作系统

最近整理了网络篇的所有文章,补充了读者提出的细节,也修复了读者反馈的错误,同时也加上了读者问答小结。 根据读者阅读偏好不同,共出了两个版本风格的 PDF,分别是亮白版本和暗黑版本。 图解网络 PDF - 亮白风格 图解网络 PDF - 暗黑风格 整理完,才发现这份图解网络 PDF 竟然 300 页了,近 9W 字,没想到,不知不觉写了这么多字。 转发+关注,然后添加VX“ tkzl6666 ” 即可获得这份《300页的图解网络知识.PDF》的免费领取方式 目录 1、硬核!30张图.

一入Java深似海 1724

操作系统 位示图

位示图是操作系统中一种管理空闲存储空间的方法。管理空闲除使用位示图法还可用:空闲区表法,空闲链表法,成组链接法 1.空闲区表法 空闲表法属于连续分配方法。它与内存管理中的动态分区分配方法雷同。 将外存空间上一个连续未分配区域称为“空闲区”。操作系统为磁盘外存上所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表包含“序号,第一空闲盘块号,空闲盘块数”等信息。它适用于连续文件结构。 ...

qq_28069577的博客 3万+

银河麒麟桌面操作系统V10 SP1 系统激活图解步骤

5.导入授权文件:将保存在桌面上的授权文件拖拽到激活窗口中,或者通过点击“浏览”按钮,找到授权文件的文件夹并导入。2、文件由四个文件组成,解压授权文件即可,69844028为用户购买的服务序列号,管理员二维码及激活校验码,这个文件打开后,需要使用微信扫一扫绑定管理员权限,方便后续激活使用。这个文件通常是一个压缩包,内含多个文件。10.完成激活:返回激活窗口,将激活码填入相应的框内,然后点击“激活”按钮,完成整个激活过程。5、可以将授权文件拖入,或者直接选择授权文件,找到对应的授权文件,导入即可。

qq_39496637的博客 2万+

【软考笔记】操作系统-位示图

最近在准备软考,还在犹豫要不要报考试培训机构。这两天在听免费试听课,接触了两道真题,大家也有想考的,可以一起学习交流。

a408492801的博客 2137

阿里的图解操作系统、网络、计算机 PDF,短短半小时GitHub阅读量登顶

我去年去面试的时候发现字节跳动、腾讯这类大厂非常非常重视计算机基础,像计算机网络、操作系统都是它们的重点。 因为计算机基础知识准备的还可以,我才顺利拿到了这些大厂的 Offer! 今天就给大家分享一下我之前准备面试经常看的一些关于计算机基础的 PDF 资料! 图解计算机系统 《图解系统》主要是操作系统的内容比较多一点,包括进程管理、内存管理、文件系统、设备管理、网络系统。除了操作系统的内容之外,还涉及一些计算机组成和 Linux 命令的内容。 内容真心赞!不光适合准备面试的朋友,同时也适合想学习..

文章中资料均可获取,有需要请添加yunduoa2019即可 456

操作系统位示图法

操作系统位示图法

给学弟学妹们写了个 15W 字的图解操作系统!

大家好,我是小林。 不知不觉在 优快云 里写了 23 篇图解操作系统的系列文章,总字数高达 15W 字,而且每篇都配了很多自己手绘的图,也算有个体系了。 然后图解操作系统文章也帮助到了很多读者,时不时都会有读者给小林发感谢信,说我的图解文章帮助到他们拿到了心意的 offer,这一点我很庆幸,我的文章也影响了一批人。 后来,有些读者跟提了个意见,希望这个图解系统能整理成电子文档,这样方便阅读。 既然是读者的请求,作为宠粉的 优快云 博主,那肯定得整理呀,于是我就连忙搞了几天,最终把图解操作系统整理成了电

小林coding 3万+

【coze实战】基于Coze的公众号图文自动化生成工作流实战解析

【coze实战】基于Coze的公众号图文自动化生成工作流实战解析

大家好,我是码农老gou,一名专注于编程技术的程序员。在这个博客中,我将与大家分享我在工作和学习中的经验、见解以及一些实用的技术干货。 1万+

图解操作系统

图解系统介绍 | 小林coding

大叶子不小的博客 205

【亲测可用!】阿里达摩院开源实时数字人对话VideoChat本地部署教程(8G显存可跑)

本文主要记录在部署阿里达摩院开源实时数字人对话VideoChat时遇到的问题,希望对各位技术开发或爱好者有所帮助!

波点兔的博客 3888

【免费】最新区块链钱包和私钥的助记词碰撞器,bybit使用python开发

【免费】最新助记词钱包碰撞器,全链全网络,一周左右就有,稳定高效。

weixin_48529185的博客 1万+

图解操作系统资料-小林Coding整理:深入理解操作系统的核心原理

图解操作系统资料-小林Coding整理:深入理解操作系统的核心原理 去发现同类优质开源项目:https://gitcode.com/ 在当今数字化时代,操作系统作为计算机系统中最基础、最重要的软件之一,其复杂性与重要性不言而喻。今天,我们就来介绍一款帮助大家深入理解操作系统的开源项目——图解操作系统资料-小林Coding整理。 项目介绍 图解操作系统资料-小林Coding整理,是一款专门针对操作系...

gitblog_06791的博客 1183

C++(Qt)软件调试---内存分析工具Heob(26)

绝对最全面最详细的Heob使用说明。(图文并茂) 绝大部分的文章都说Heob是一个内存泄漏分析工具,其实Heob只是内存泄漏分析功能比较突出,实际上Heob可以分析很多内存问题。 Heob是一个Windows下检测缓冲区溢出(野指针、空指针、内存越界、重复释放、异常捕获等)和内存泄漏的工具,集成到Qt Creator中,功能强大,简单容易上手。

mahuifa的博客 4311

图解操作系统资料 - 小林Coding整理

图解操作系统资料 - 小林Coding整理 去发现同类优质开源项目:https://gitcode.com/ 欢迎使用小林Coding精心整理的《图解操作系统》资料,版本号为v1.0。本资源文件以直观、易懂的方式,详细介绍了操作系统的基本原理与运作机制。 资料概述 本压缩包(小林Coding-图解操作系统-v1.0.rar)包含了以下内容: 操作系统概述:介绍操作系统的定义、作用、发展历程及分类...

gitblog_06745的博客 467

YOLOv11改进 ,YOLOv11改进主干网络为MobileNetV3,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。本文开始探讨了自动化搜索算法与网络设计如何协同工作,以利用互补方法来提升整体技术水平。通过这一过程,创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用场景。这些模型随后被适配并应用于目标检测和语义分割任务。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1930

让 ABAP Screen Variant 安稳上车:SHD0 与 SHD0_MANDT 的 Transport 全攻略

摘要: SAP项目常需优化交易码界面,通过SHD0的Transaction Variant和Screen Variant可实现字段精简、默认值预设及权限控制,避免修改标准代码。但跨系统迁移时易出现变式丢失或版本兼容问题。核心概念包括: Screen Variant:针对单个屏幕的字段属性配置(跨Client); Transaction Variant:串联多屏幕变式(分跨Client和Client-specific); 版本差异:4.70/6.x后需区分SHD0(跨Client)与SHD0_MANDT(Cl

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 225

来自阿里的图解计算机、网络、操作系统PDF,竟在GitHub点赞最高

Hey guys ,这里是Java高级小课堂,欢迎你收看我最新一期文章。 相信熟悉cxuan的小伙伴应该都知道,他之前已经撸了六本 PDF,这六本PDF涉及Java基础、Java进阶、HTTP、计算机基础、操作系统和面试题总结。 这六本 PDF 已经有小伙伴下载、阅读并提出勘误,甚至也有很多小伙伴已经打印甚至彩印出来了。但是平心而论,这六本 PDF 并不能成为我茶余饭后的谈资,因为我总是不满意其中的文章结构和一些错别字,甚至还有一些地方让读者产生了误解,我在这里向大家致歉了。 cxuan,不断迭代

weixin_50666791的博客 1049

MIMIC数据库简介

一 、MIMIC简介 MIMIC(Medical Information Mart for Intensive Care),是一个大型的公开数据库。该数据库记录了2001年至2019年期间贝斯以色列女狄肯斯医疗中心重症监护病房患者的相关数据,拥有4万多名患者的医疗健康数据和记录。 MIMIC数据库记录了人口统计学信息,如病人的性别、身高、宗教等情况。记录了实验室检验信息,如血常规,肝功能,肾功能等实验室检测数据。记录了患者的用药信息,如高血压患者服用了治疗高血压类药物等。记录了护理人员以及患者的护理级别等。

越努力 越幸运 1万+

图解操作系统原理 - 学习资源下载

图解操作系统原理 - 学习资源下载 去发现同类优质开源项目:https://gitcode.com/ 此仓库包含了关于操作系统原理的详细图解资源文件。这些资源旨在帮助读者深入理解操作系统的核心概念,涵盖了以下关键领域: 操作系统结构:介绍了操作系统的基本组成和各部分的功能。 进程管理:详细解析了进程的创建、调度、同步与通信。 内存管理:包括内存分配、分页与分段机制以及虚拟内存技术。 文件系统:讨...

gitblog_06705的博客 399

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Github阅读量最高的图解操作系统、网络、计算机 PDF,竟是阿里的

我去年去面试的时候发现字节跳动、腾讯这类大厂非常非常重视计算机基础,像计算机网络、操作系统都是它们的重点。 因为计算机基础知识准备的还可以,我才顺利拿到了这些大厂的 Offer! 今天就给大家分享一下我之前准备面试经常看的一些关于计算机基础的 PDF 资料! 图解计算机系统 《图解系统》主要是操作系统的内容比较多一点,包括进程管理、内存管理、文件系统、设备管理、网络系统。除了操作系统的内容之外,还涉及一些计算机组成和 Linux 命令的内容。 内容真心赞!不光适合准备面试的朋友,同时也适合想学习..

weixin_50666791的博客 183

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

阿里内部的图解操作系统、网络、计算机 PDF,竟是Github阅读量最高的

我去年去面试的时候发现字节跳动、腾讯这类大厂非常非常重视计算机基础,像计算机网络、操作系统都是它们的重点。 因为计算机基础知识准备的还可以,我才顺利拿到了这些大厂的 Offer! 今天就给大家分享一下我之前准备面试经常看的一些关于计算机基础的 PDF 资料! 图解计算机系统 《图解系统》主要是操作系统的内容比较多一点,包括进程管理、内存管理、文件系统、设备管理、网络系统。除了操作系统的内容之外,还涉及一些计算机组成和 Linux 命令的内容。 内容真心赞!不光适合准备面试的朋友,同时也适合想学习..

weixin_50666791的博客 363

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

图解操作系统原理-学习资源下载:深入理解操作系统的核心概念

图解操作系统原理-学习资源下载:深入理解操作系统的核心概念 去发现同类优质开源项目:https://gitcode.com/ 在数字时代,操作系统作为计算机系统的心脏,扮演着至关重要的角色。今天,我将为大家推荐一个出色的开源项目——图解操作系统原理-学习资源下载,它以图文并茂的方式,帮助您轻松掌握操作系统的核心知识。 项目介绍 图解操作系统原理-学习资源下载是一个专注于操作系统原理学习的资源集合。...

gitblog_06722的博客 305

各种操作系统安装图解教程大全

 包括DOS、windows各版本、Linux等操作系统的安装图解及双系统的安装过程等。目录:基础部分怎样在windows下制作dos启动盘如何进入dos系统硬盘分区图解步步通硬盘分区图解步步通图解DM的基本使用方法安装虚拟电脑P-Virtual PC5.1版Windows部分:Windows 98光盘启动安装过程详细图解Windows Me光盘启动安装过程Windows 2000 Server光

我的学习日志 602

操作系统内存管理_图解操作系统知识总结之内存管理

点击上方“五分钟学算法”,选择“星标”公众号重磅干货,第一时间送达转自小林coding前言之前有不少读者跟我反馈,能不能写图解操作系统?既然那么多读者想看,我最近就在疯狂的复习操作系统的知识。操作系统确实是比较难啃的一门课,至少我认为比计算机网络难太多了,但它的重要性就不用我多说了。学操作系统的时候,主要痛苦的地方,有太多的抽象难以理解的词语或概念,非常容易被劝退。即使怀着满腔热血的心情...

weixin_39860975的博客 166
上一篇: Bzoj 1036 树的统计
下一篇: 进制转换函数
梁千仞
博客等级 码龄15年 12粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值