![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 68
潇洒的白杨树
学习中
展开
-
死锁
概念多个进程循环等待它方占有的资源而无限期地僵持下去的局面原因:竞争资源 程序推进顺序不当必要条件:个资源每次只能被一个进程使用 循环等待 进程已获得的资源,在末使用完之前,不能强行剥夺 个进程因请求资源而阻塞时,对已获得的资源保持不放处理死锁基本方法:1. 预防死锁(摒弃除1以外的条件)进程申请资源时遵循某种协议,打破产生死锁的四个必要条件 允许进程同时访问某些资源 允许进程强行从占有原创 2017-09-22 22:27:45 · 184 阅读 · 0 评论 -
编译器的工作过程
本文主要针对gcc编译器,也就是针对C和C++,不一定适用于其他语言的编译。 原作者编译器的任务源码要运行,必须先转成二进制的机器码#include <stdio.h>int main(void){ fputs("Hello, world!\n", stdout); return 0;}编译过程第一步 配置(configure)确定编译参数的步骤,就叫做”配置”(configur转载 2017-09-22 23:26:13 · 759 阅读 · 0 评论 -
虚拟内存
简介Virtual Machine-VM 有了虚拟内存,操作系统中诸如进程间隔离, 文件缓存, 存储交换(swapping)等一系列高级的功能才得以实现. 虚拟内存管理的原理以及如何配置虚拟内存相关参数, 对通用的Linux虚拟内存管理的参数配置有一定的心得 虚拟内存的组成 深入地了解虚拟内存如何工作MMU内存管理单元, 实现虚拟内存系统的物理硬件基础 允许软件通过一个别名的地址跟原创 2017-09-23 00:57:53 · 346 阅读 · 0 评论 -
make生成执行文件的过程
想要生成ucore.img$(UCOREIMG): $(kernel) $(bootblock) $(V)dd if=/dev/zero of=$@ count=10000 $(V)dd if=$(bootblock) of=$@ conv=notrunc $(V)dd if=$(kernel) of=$@ seek=1 conv=notrunc 为了生成ucore.im转载 2017-09-17 22:14:34 · 2040 阅读 · 0 评论 -
线程同步
什么是线程同步线程同步的真实意思和字面意思恰好相反。 线程同步的真实意思,其实是“排队”:几个线程之间要排队,一个一个对共享资源进行操作,而不是同时进行操作。为什么线程同步线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。 当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。怎么线程同步原创 2017-09-21 21:57:41 · 445 阅读 · 0 评论 -
进程的三种基本状态及其转换
进程的基本状态:①就绪(Ready)状态当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列。 ②执行状态进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态;在多处理机系统中,则有多个进程处于执行状态。 ③阻塞状态正在执行的进程,由于等待某个事转载 2017-09-21 22:16:40 · 5627 阅读 · 0 评论 -
SCSI 和 iSCSI
SCSI小型计算机系统接口(Small Computer System Interface) 特点是一种接口标准,主机与外部设备系统级接口的一种标准SCSI是一种计算机系统接口的标准SCSI是一种I/O技术SCSI规范了一种并行的I/O总线和相关的协议SCSI的数据传输方式是以块的方式进行的存储总线将不属于CPU和RAM的所有总线称为外围总线,而外围总线为了连接外部设备一般需要各种控制器转载 2017-11-20 15:36:12 · 771 阅读 · 0 评论