第一部分:操作系统知识 1.1 操作系统原理 1.1.1 进程管理 1.1.1.1 进程的概念与生命周期 进程是程序在计算机中的一次执行实例,包括了程序的代码、数据、以及运行的上下文环境。进程管理是操作系统的核心任务之一。 作用:管理所有执行中的进程,确保它们高效地使用系统资源。生命周期: 创建:通过系统调用(如 fork)新建进程。就绪:进程已经准备好运行,等待 CPU 资源。运行:进程正在 CPU 上执行。阻塞:进程等待某一条件(如 I/O 操作)完成。终止:进程结束,释放占用的资源。
2024-12-021.(Operating System,简称OS)是一管理与软件资源的程序,同时也是计算机系统的内核与基石。是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、 (1)作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等;(2)文件管理:又称为信息管理;(3)存储管理:实质是对存储“空间”的管理,主要指对主存的管理;(4)设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收;(5)进程管理:实质上是对
2024-12-02在C语言的应用领域,如通讯领域和嵌入式系统领域,一个的软件项目通常包含很多复杂的功能,实现这个项目不是一个程序员单枪匹马可以胜任的,往往需要一个团队的有效合作,另外,在一个以C代码为主的完整的项目中,经常也需要加入一些其他语言的代码,例如,C代码和汇编代码的混合使用,C文件和C++的同时使用。这些都增加了一个软件项目的复杂程度,为了提高软件质量,合理组织的各种代码和文件是非常重要的。 组织代码和文件的目的是为了使团队合作更加有效,使软件项目有良好的可扩展性
2024-12-02在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务。 通过'添加任务计划'的一步步引导,则可建立一个定时执行的任务。 在linux系统中你可能已经发现了为什么系统常常会自动的进行一些任务?这些任务到底是谁在支配他们工作的?在linux系统如果你想要让自己设计的备份程序可以自动在某个时间点开始在系统底下运行,而不需要手动来启动它,又该如何处置呢? 这些例行的工作可能又分为一次性定时工作与循环定时工作,在系统内
2024-12-02操作系统真象还原实验记录之实验三十四:实现管道 1.管道相关知识总结 先说我们操作系统的管道实现: 由此看来,管道是一页环形缓冲区内存,但依然被当作文件处理。只是管道的读写不能再使用file_write、file_read,毕竟不是读写磁盘,所以创建了新的函数pipe_write、pipe_read来读写环形缓冲区。 由于管道被当成了文件,依靠进程的文件描述符数组来访问,所以系统调用sys_close、sys_read、sys_write都需要增加判断管道的逻辑。此外,更新inode数函数也
2024-12-02如何在java的子线程中修改主线程的值呢? 首先我们可以将主线程理解为一个进程,这个进程中有许多子线程(实际上主线程和子线程的关系也就是这样子的) 对于这个问题,目前我知道的一种解决思路是: 1.建立变量 在主线程中建立成员变量count 2.建立更改函数 在主线程中建立一个成员函数change(),在这个成员函数中实现子线程的创建和执行。 创建:而创建子线程的时候必然要重写run()方法,所以可以在重写的run()方法中进行cuont的值的更改。 执行:对创建的子线程直接使用其start()方
2024-12-02Delphi创建虚拟桌面实现后台调用外部程序 核心提示:最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件,根本没有源代码,幸好,我要做的事不难,只需要在我的程序启动后,将那个软件打开,在需要的时候,对其中的一个文本框设置一些文字,再点击一个按钮就可以了。... 最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件,根本没有源代码,幸好,我要做的事不难,只需要在我的程序启动后,将那个软件打开,在需要的时候,对其中的一个文本框设
2024-12-02同步中断:只有在一条指令终止执行后CPU才会发出中断; 异步中断:由其它硬件设备依照CPU时钟信号随机产生的中断。 一般中断是指 异步中断。异常: 同步中断。 中断处理与进程切换的区别:中断或异常处理程序执行的代码不是一个进程,它是一个内核控制内经,代表中断发生时正在运行的进程执行。作为一个内核控制路径,中断处理程序比一个进程要“轻”。(没有进程要求那么多资源) 一、中断 分为:1)可屏蔽中断(maskable Interrupt);2)非屏蔽中断
2024-12-02操作系统在握手之前进行了DNS查询 DNS 迭代查询 1.操作系统会首先在本地缓存中查询IP 2.没有的话会去系统配置的DNS服务中去查询 3.如果这时候还没得话,会直接去 DNS 根服务器查询,这一步查询会找出负责 com 这个一级域名的服务器 4.然后去该服务器查询 google 这个二级域名 5.接下来三级域名的查询其实是我们配置的,你可以给 www 这个域名配置一个 IP,然后还可以给别的三级域名配置一个 IP
2024-12-02应用程序:#include <syswait.h>usleep(n) //n微秒Sleep(n)//n毫秒sleep(n)//n秒驱动程序:#include <linux/delay.h>mdelay(n) //milliseconds 其实现#ifdef notdef#define mdelay(n) (\{unsigned long msec=(n); while (msec--) udelay(1000);})#else#define mdelay(n) (\(__builtin_cons
2024-12-02