- 博客(19)
- 收藏
- 关注
原创 【操作系统】——调度算法
各进程到达就绪队列的时间、需要的运行时间如下表所示。使用高响应比优先调度算法,计算各进程的等待时间、平均等待时间、周转时间、平均周转时间、带权周转时间、平均带权周转时间。
2024-11-13 19:37:48
975
原创 【操作系统】——调度
非剥夺调度方式,又称非抢占方式。即,只允许进程主动放弃处理机。在运行过程中即便有更紧迫的任务到达,当前进程依然会继续使用处理机,直到该进程终止或主动要求进入阻塞态。实现简单,系统开销小但是无法及时处理紧急任务,适合于早期的批处理系统剥夺调度方式,又称抢占方式。当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要紧迫的那个进程。可以优先处理更紧急的进程,也可实现让各进程按时间片轮流执行的功能(通过时钟中断)。适合于分时操作系统、实时
2024-10-26 15:19:05
1111
原创 【操作系统】——线程(一步一个脚印带你学线程)
还没引入进程之前,系统中各个程序只能串行执行。进程是程序的一次执行。但这些功能显然不可能是由一个程序顺序处理就能实现的。例如,在使用QQ聊天的时候,我们没办法边聊天听音乐如果我们想要一边QQ聊天一边听音乐那就要引入线程的概念有的进程可能需要“同时”做很多事,而传统的进程只能串行地执行一系列程序。为此,引入了“线程”,来增加并发度。传统的进程是程序执行流的最小単位。引入线程后,线程成为了程序执行流的最小单位。可以把线程理解“轻量级进程”。线程是一个基本的CPU执行单元,也是。
2024-10-17 18:11:16
1496
原创 【操作系统】——进程(手把手教你学进程)
进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、‘撤销已有进程、实现进程状态转换等功能。简化理解:反正进程控制就是要实现进程状态转换。CPU执行了关中断指令之后,就不再例行检查中断信号,直到执行开中断指令之后才会恢复检查。这样,关中断、开中断之间的这些指令序列就是不可被中断的,这就实现了“原子性“。
2024-10-11 11:08:22
789
原创 【操作系统】虚拟机
传统的计算机在生产的时候,物理机器(硬件)其实是非常强大的,要运行的东西只能在同一个操作系统之上运行,比如说两个游戏同时打开,那么两个游戏的服务器必须放到同一个操作系统之上来运行,但两个进程在同一个操作系统之上有可能相互影响,相互争夺操作系统管理的资源存在隐患。因此就有了虚拟机的出现。
2024-10-07 21:06:35
532
原创 【操作系统】引导(Boot)电脑的奇妙开机过程
计算机的主存是由 RAM 和 ROM 两个部分所组成,我们平时所说的手机内存,电脑内存是多少时,其实所说的是 RAM,而除了RAM芯片之外,还有这样一个部分就是ROM,ROM芯片被集成到电脑主板上面,这个存储芯片里面存储的是 BIOS(基本输入输出系统的缩写)
2024-10-05 12:05:45
1569
原创 【操作系统】体系结构
内核是操作系统最基本、最核心的部分。实现操作系统内核功能的那些程序就是内核程序。原语是一种特殊的程序,具有原子性。也就是说,这段程序的运行必须一气呵成,不可被“中断”。时钟管理是利用时钟中断实现计时功能。
2024-10-04 17:49:52
1283
原创 【操作系统】运行机制、中断和异常、系统调用
操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组程序调用组成。“系统调用” 是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。
2024-09-30 20:57:19
1067
原创 操作系统的发展与分类
网络操作系统:是伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机的结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。操作系统对各个用户/作业都是完全公平的,循环的为每个用户/作业服务一个时间片,不区分任务的紧急性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。,允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。,CPU和其他资源更能保持 “忙碌” 状态,系统吞吐量增大。
2024-09-28 16:15:48
379
原创 操作系统的概念与特征
指计算机系统中 ‘同时’ 运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的,操作系统就是伴随着 “多道程序技术” 而出现的,因此,异步是指,在多到程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了显示虚拟性的意义了,因此,约会:宏观上看,这一天老渣同时进行了两个约会任务,微观上看,某一时刻,他只进行一个约会任务。
2024-09-26 21:17:13
528
原创 C语言文件操作
目录一、为什么使用文件二、什么是文件2.1 程序文件2.2 数据文件2.3 文件名三、文件的打开和关闭3.1 文件指针3.2 文件的打开和关闭四、文件的顺序读写 4.1 关于输入输出、读和写 4.2 关于流的概念4.3 操作文件中的函数4.3.1 字符输入函数 fputc的使用 4.3.2 字符输入函数fgetc的使用 4.3.3 文本行输出函数 fputs 4.3.4 文本行输出函数 fgets 4.3.5 格式化的输入函数fscanf
2024-09-05 16:21:22
646
原创 柔性数组(详讲版)
这样可以简化内存管理,减少分配和释放内存的次数,提高程序的效率。由于柔性数组的长度可以在运行时根据实际需求进行调整,所以可以很方便地适应不同大小的数据。在使用柔性数组时,需要我们手动开辟内存空间,并且对内存进行调整,我们用mallohenc进行内存的开辟,使用realloc对内存进行调整扩充。柔性数组即数组大小待定的数组,在 C 语言中可以在结构体的最后一个元素使用长度为 0 的数组来实现。以下两段代码所要展现的效果是一样的,不过他们有不同的思路,下面来看。⭐有关柔性数组中自定义类型的博文。
2024-08-31 09:41:22
1436
原创 C语言之动态内存管理篇
关于数据的存储,数据存储是指将数据以某种格式记录在计算机内部或外部存储介质上,以便后续使用和检索,数据的存储可以分为静态内存存储和动态内存存储。
2024-08-28 20:14:40
927
原创 C语言之自定义类型
数组是一组相同类型的元素的集合。结构体也是一些值的集合,结构的每个成员可以是不同的类型。(这些值称为成员变量)联合也是一种特殊的自定义类型,这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共同体)。
2024-08-24 19:54:58
823
1
原创 C语言中%d、%f、%p、%c、%s、%的代表意义
C语言中的格式说明符就像是给数据穿上特定的“外衣”,让它们以特定的格式显示出来,在格式化输出时,用于指定输出数据的格式。
2024-04-27 10:41:39
29403
原创 程序员助手——调试(C语言为例)
调试”通常指的是对系统、设备、程序等进行检查和调整,以确保其正常运行或达到最佳性能。在软件开发中,调试是一个重要的环节。1.bug是什么Bug一词的原意是“昆虫”或“虫子”;而在电脑系统或程序中隐藏着的一些未被发现的缺陷或问题,人们也叫它“bug”。在早期的电子设备中,真的有昆虫(如蛾子)进入到设备内部,导致设备出现故障。当时的人们就用“bug”来形容这些故障。2.为什么要调试,调试的重要性2.1 什么是调试调试:
2024-04-05 17:31:37
855
1
原创 用C语言代码写三子棋小游戏(易解版)
三子棋是一种常见的棋类游戏,玩家轮流在棋盘上落子,一方使用三个棋子连成一条直线即为获胜。用C语言实现三子棋游戏的主要步骤如下:1.打印菜单:使用一个三行三列的二维数组char类型进行初始化。2.棋盘初始化:用一个三行三列的二维数组char类型,进行初始化。3.打印棋盘:使用嵌套循环遍历数组,将棋盘上的棋子打印出来。4.玩家落子:使用嵌套循环遍历数组,判断玩家输入的坐标是否合法,若合法则将对应的棋子落子。上述步骤中,棋盘初始化和打印棋盘是实现三子棋游戏的关键步骤,它们决定了游
2024-03-19 09:03:20
1794
原创 C语言简介
人和人是通过汉语、英语、日语等进行交流的。而计算机语言就是人与计算机交流的语言,常见的有C / C++/ JAVA/ python/ Go等。而所学的C语言也是有国际标准的,如C89,C90,C99,C11等。计算机语言刚开始还不成熟用的是所谓的二进制语言,后来发展到了汇编语言,再后来是B语言,到现在的C语言,早期是有很多不成熟的,发展到现在可以说是技术的进步。对于我们所买的电脑就是所谓的计算机是分为应用层,就是电脑所安装的应用软件,其次是操作系统。
2024-03-03 16:39:17
1728
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人