
操作系统原理
文章平均质量分 97
欢迎来到“操作系统原理”专栏!操作系统原理涉及操作系统的设计、实现以及其与计算机硬件和其他软件的交互。它包括进程管理、内存管理、文件系统、输入输出系统等核心概念,确保计算机资源的有效管理和为用户提供一个便利、高效的使用环境。
ZShiJ
软件工程本科,大数据与机器学习方向(欢迎大家私信)
展开
-
操作系统习题
操作系统习题原创 2023-12-19 08:00:00 · 2346 阅读 · 1 评论 -
【操作系统原理】—— 文件系统编程
文件系统编程是指在编程过程中使用文件系统的相关功能,包括创建、读取、写入、删除文件,以及对目录的操作等。不同的操作系统提供不同的文件系统接口和系统调用,因此文件系统编程的具体实现方式可能会有所不同。打开文件:使用 open 系统调用打开文件。该调用返回一个文件描述符,之后的读写操作将使用该描述符。读写文件:使用 read 和 write 等系统调用进行文件读写操作。关闭文件:使用 close 系统调用关闭文件。创建和删除文件:使用 creat 或 open 系统调用创建文件。使用 unlink 系统原创 2023-11-17 08:00:00 · 269 阅读 · 0 评论 -
【操作系统原理】—— Linux内存管理
Linux 内存管理是操作系统对计算机内存进行分配、保护和回收的一系列机制。这些机制确保了程序能够访问到合适的内存空间,同时防止程序越界访问或滥用系统资源。操作系统的发展使得系统完成了大部分的内存管理工作,对于程序员而言,这些内存管理的过程是完全透明不可见的。因此,程序员开发时从不关心系统如何为自己分配内存,而且永远认为系统可以分配给程序所需的内存。在程序开发时,程序员真正需要做的就是:申请内存、使用内存、释放内存。其它一概无需过问。原创 2023-11-16 08:00:00 · 307 阅读 · 0 评论 -
【操作系统原理】—— 信号量与PV操作实现
信号量是一个计数器,表示可用资源的数量。信号量的值可以是任意非负整数。在多线程或多进程环境中,信号量用于控制对共享资源的访问。PV 操作: P(Produce)操作: 也称为 Wait 操作。执行 P 操作时,信号量的值减一,表示占用了一个资源。如果信号量的值为负数,表示资源不足,执行 P 操作的线程或进程将被阻塞,直到有足够的资源。 V(Vaporize)操作: 也称为 Signal 操作。执行 V 操作时,信号量的值加一,表示释放了一个资源。如果有其他线程或进程正在等待资源,原创 2023-11-15 08:30:00 · 978 阅读 · 0 评论 -
【操作系统原理】—— 线程同步
同时为了防止在售票函数中,当完成了售票,进行解锁,此时该线程所分配的cpu时间片还没有完,于是又继续循环上去加锁售票,以此往复导致只有一个线程售票,其他线程被卡在获取锁加锁的环节。多线程是一种多任务并发的工作方式,在linux中线程包括内核线程和用户线程,内核线程有内核管理,不需要我们做更多的工作,我们这里讲的是用户线程,线程统一由用户线程来切换。在linux环境下,利用多线程及同步的方法,编写一个程序模拟火车售票系统,共3个窗口,卖10张票,程序输出结果类似(程序输出不唯一,可以是其他类似的结果)原创 2023-11-14 08:00:00 · 347 阅读 · 0 评论 -
【操作系统原理】—— 进程调度
动态最高优先数优先调度算法是一种进程调度算法,它根据进程的动态优先级来分配处理机。每个进程都被分配一个优先级数,该数值随时间的推移而变化。当一个进程等待时间较长时,其优先级就会提高,以增加它被选中执行的机会。以下是该算法的一般工作原理: 初始化优先级: 每个进程在进入就绪队列时被分配一个初始优先级。这通常可以基于进程的属性,如等待时间、资源需求等。 动态调整优先级: 随着时间的推移,等待时间增加的进程的优先级逐渐提高。这是为了避免长时间等待的进程饥饿,因为等待时间越长,该进程的优原创 2023-11-13 15:01:07 · 1138 阅读 · 0 评论 -
【操作系统原理】—— 进程管理
在Linux下这个系统调用是fork,系统通过调用fork函数创建进程,当一个进程调用了fork以后,系统会创建一个子进程,这个子进程和父进程不同的地方只有他的进程ID和父进程ID,其他的都是一样,而此时子进程也与父进程分开执行,各自执行自己的操作。,在系统初启时由0进程创建1进程,以后0进程变成对换进程,1进程成为系统中的始祖进程。此时子进程b,d完成,父进程b完成p1_C变为0创建子进程c,此时子进程c的进程ID为16161,他的父进程的ID是16158(即父进程b的进程ID);原创 2023-11-13 11:55:42 · 959 阅读 · 0 评论