代码编织梦想

2020 操作系统第一天复习(习题总结)-爱代码爱编程

2020.12.9 操作系统系统 系统软件 临界区管理的尝试 进程状态图 进程映像 I:属于系统软件的是? 答案:操作系统 系统软件是负责管理系统中各种独立的硬件。通俗的说就是能够直接控制硬件的。 硬件层负责提供各种可计算的资源,包括处理器,存储器,寄存器和各种I/O设备。 主要有操作系统,数据库系统,语言处理程序,支撑软件。 操作系统有do

用Qt模拟进程调度与主存空间的分配与回收(附源代码)-爱代码爱编程

源代码:用Qt模拟进程调度与主存空间的分配与回收(源代码) 实验目的 多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,加深了解处理机调度的工作过程,并模拟在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收,帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 实验内容

操作系统 线程 进程 IO模型-爱代码爱编程

64位和32位的区别 运行能力不同:64位CPU一次可以处理8个字节的数据;32位CPU一次可以处理4个字节的数据 内存寻址能力不同:64CPU的最大寻址空间为2^64,理论可达16TB,64位CPU会设有不同的地址总线的数量,对应不同大小的寻址空间;32位CPU的最大寻址空间为4GB 运行软件不同:32位和64位CPU的指令集不同,64位操作系统

1 操作系统基础原理-爱代码爱编程

文章目录 1:操作系统基础原理简述操作系统构成:第一部分是外壳(shell)和应用程序。第二部分是内核。第三部分是硬件。内核的功能:1.内核是操作系统的核心,主要负责管理系统的文件,网络,内存,驱动,进程等。a.文件管理b.网络管理:c.内存管理d.驱动管理e.进程管理2.内核控制着系统与硬件之间的相互通信。3.内核决定着系统的性能与稳定性。Lin

从零开始写一个操作系统(3):hello,world 代码解释-爱代码爱编程

这章主要解释上面一系列操作都干了什么 先上图,简要说明整个流程 #mermaid-svg-7w8sN99B5bINwkDu .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#me

页面置换算法--先进先出页面置换-爱代码爱编程

#include "stdio.h" #include "stdlib.h" typedef struct item { int num; //页号 int time; //等待时间,LRU算法会用到这个属性 }Pro; int pageNum; //系统分配给作业的主存中的页面数 int memoryNum; //可用内存页面数

进程调度:时间片轮转+抢占+动态优先级调度算法-爱代码爱编程

时间片轮转:每个进程至多持续运行一定时间。 抢占:进程进入就绪队列,进行优先级比较,优先级大的可抢占正在运行的进程。 动态优先级:进程进入就绪队列一定时间未获取cpu,则提升优先级。 进程类 package process; /** * 进程类 */ public class Process implements Comparable<

操作系统自学(十六)死锁以及预防死锁-爱代码爱编程

死锁 死锁,饥饿,死循环 死锁:各个进程之间互相等待对方手里的资源,导致各进程都阻塞,无法向前推进的现象举个例子 比如哲学家进餐问题中,如果每个哲学家手中都拿一支筷子 他们会互相等待对方放下筷子 自己使用 这是就进入了死锁的状态 如果没有外界干预或者是操作系统的干预 他们会一直阻塞下去 再举个例子,假如两个人都想去厕所 他俩也不认识 然后他俩同时

操作系统--磁盘调度算法(FCFS\SSTF\SCAN\CSCAN\FSCAN)Java实现-爱代码爱编程

早期的磁盘寻道算法有先来先服务,最短寻道时间优先,扫描算法,循环扫描 第一种 先来先服务: 谁先请求就先调度谁 最差 第二种最短寻道时间: 发出请求者,最短寻道时间的先调度 第三种:扫描SCAN 按磁道号增大或减小方向,一直调度,直到没有更外的磁道需要访问时,然后再返回调度 第四种:循环扫描CSCAN 和SCAN差不多,只不过这个是直到没有更外的磁道要

深入Linux内核架构——锁与进程间通信-爱代码爱编程

Linux作为多任务系统,当一个进程生成的数据传输到另一个进程时,或数据由多个进程共享时,或进程必须彼此等待时,或需要协调资源的使用时,应用程序必须彼此通信。 一、控制机制 1、竞态条件 几个进程在访问资源时彼此干扰的情况通常称之为竞态条件(race condition)。在对分布式应用编程时,这种情况是一个主要的问题,因为竞态条件无法通过系统的试错法

Linux下gcc编译过程实例讲解-爱代码爱编程

Linux下gcc编译过程实例讲解 1、Linux下C/C++编译原理及过程2、C++实例代码3、gcc编译过程3.1、创建代码3.1、预处理3.2、编译3.3、汇编3.4、链接3.4.1、动态链接3.4.2、静态链接3.4.3、其他3.4.3.1、nostdlib3.4.3.2、nostartfiles 本次讲解基于C++,在ubuntu下编译

操作系统自学(十五)哲学家进餐问题-爱代码爱编程

哲学家进餐问题 一张圆桌上有五位哲学家 每两位哲学家之间的桌子上摆着一根筷子,桌子中间是一碗米饭,五位哲学家都在用全部精力思考和吃饭 哲学家思考的时候,不会影响其他人,哲学家饥饿时,试图拿起左右两根筷子(一根一根拿起)如果筷子在其他人手上,则需要等待 哲学家只有左右手都拿起筷子 才可进餐,进餐完毕之后 放下筷子 继续思考 这个问题相当于是两个临界资源

计算机操作系统第一章答案及小测-爱代码爱编程

现代os的主要目标 答:方便、有效、开放、可扩充os的作用可表现在哪几个方面 答:用户、资源管理、资源抽象三个角度为什么说操作系统实现了对计算机资源的抽象推动多道批处理系统形成和发展的主要动力是啥 提高系统的吞吐量,资源的利用率、方便用户使用何为脱机io和联机io推动分时系统形成和发展的动力 资源利用率和系统吞吐量,并且具有多路性、独立性、及时性、交互性。

计算机操作系统第一章知识点-爱代码爱编程

第一章 1.什么是os:operator system 2.引入os的目的: 为多道程序的运行提供良好的运行环境,保证多条程序能有条不紊、高效的运行,并能最大程度的提高系统中的各种资源的利用率,方便用户的使用 3.操作系统的目标: 方便、有效、可扩充、开放 4.OS的定义: 控制和管理计算机硬件和软件资源,合理组织计算机工作流程以及方便用户的程序集合 5.

csapp attack lab level5-爱代码爱编程

做完了第一个ROP来看看第二个,当然这个显然很难。 显然这个和touch3一样,但是无法注入,所以只能用ret来连接gadget,我刚开始看第一个建议很疑惑,为啥要复习movl。直到我从farm这个函数反汇编后所能用到的指令真是少的可怜。如图类似grep抓取关键字然后对照下图表发现能用的指令太少了, 根据相关表的抓取符合条件的指令。 然后总结所有能用的指令

Linux进程空间分配-爱代码爱编程

1. Linux中进程空间的分配情况如下: 从上图可以看出,进程的空间分配:与进程相关的数据结构(页表、内核栈、task) ---> 物理内存 ---> 内核代码和数据 ---> 用户栈 ---> 共享库的内存映射区 ---> 运行时堆 --->未初始化数据段.bss ---> 已初始化数据段.data --

太惨了!华为云二面被操作系统与网络协议血虐,万万没想到华为的面试居然这么难!-爱代码爱编程

前言 对于操作系统可能很多人会觉得:“我又不需要写一个Linux,写一个windows所以我就不需要学习”。这里需要注意的是我们学操作系统不是叫你写一个操作系统的,讲的是资源的调度和分配,以及大型软件的设计。稍微写过一些并行并行的程序,都能体会到这门课的重要性。它介于软件和硬件之间的一个部分,一般意义上认为其重要性介于软硬件之间,不会操作系统,不了解基本

【Linux】页表的实现与地址转换-爱代码爱编程

页表的实现与地址转换 页表是软件实现的,但是页表的查找是MMU完成的,所以硬件定义了页表的实现规则,软件做的只有选择页表的级别,是否使用huge page以及填充对应的权限标志位。每个进程都拥有一个自己的页表,在linux中,有一个页目录数组,这是分页机制的最高层,每个进程的页表对应其中的一个页目录项,通过cr3寄存器(存放页目录项的物理地址)可以访问。

同样大学四年,为什么有些同学毕业就能成为大厂Offer收割机!-爱代码爱编程

最近有不少学弟学妹问:大学学 Java 和 C++ 哪个好找工作,学前端好还是后端好,该学 Vue 还是 React。。。 仿佛看到了自己当年的模样,单纯以一个计算机应届毕业生的身份聊聊,我认为大学四年,计算机科班学生应该学些什么,哪些才是重点。 同样大学四年,为什么有些同学毕业就能成为大厂 Offer 收割机,各种 SP、SSP 拿到手软,有的同学明

23. Complete VM Systems-爱代码爱编程

Complete Virtual Memory Systems 通过VAX/VMS和LINUX两个系统来说明前面所说的部分在完整的VM系统中如何体现。 1. VAX/VMS Virtual Memory 1.1 Memory Management Hardware VAX-11为每个进程提供了32位虚拟地址,page大小为512字节,即一个虚拟地址