自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 errno,perror,strerror怎么用

errno:在系统出现错误时内核把错误写入到变量errno中。在系统调用返回失败时,必须紧接着引用errno变量,避免程序中的下一条系统调用时出错覆盖errno的值。 perror()和strerror():用来打印错误提示信息。 perror:将错误信息出处到终端。 int main() { FILE * pFile; pFile = fopen("unexist.ent", "rb");...

2018-09-27 17:08:00 374

原创 柔性数组

C99中,结构体中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员 typedef struct st_type { int i; char a[0]; }type_a; 或者: typedef struct st_type { int i; char a[]; }type_a; 柔性数组的特点: 1.结构中的柔性数组成员前面必须至少一个其他成员。 2.sizeof 返回的...

2018-09-27 16:15:06 139

原创 I/0子系统

一.I/O特点 1.设备接口类型 A.字符设备:键盘,鼠标,串口 ——访问特征:以字节为单位顺序访问 ——I/O命令:get(),put();通常使用文件访问接口和语义 B.块设备:磁盘驱动器,磁带驱动器,光驱 ——访问特征:均匀的数据块访问; ——I/O命令:原始I/O或文件系统接口;内存映射文件访问 C.网络设备:以太网,无线,蓝牙 ——访问特征:格式化报文交换 ——I/O命令:send/re...

2018-09-27 15:23:52 714

原创 文件系统

一.文件系统: 1.文件系统是操作系统中管理持久性数据的子系统,提供数据存储和访问功能 ——组织,检索,读写访问数据 ——大多数计算机系统都有文件系统 2.文件是具有符号名,由字节序列构成的数据项集合 ——文件系统的基本数据单位 ——文件名是文件的标识符号 3.文件系统的功能 a.分配文件磁盘空间 ——管理文件块(位置和顺序) ——管理空闲算法(位置) ——分配算法(策略) b.管理文件集合 ——...

2018-09-25 01:27:54 311

原创 死锁,进程间通信

死锁:由于竞争资源或者通信关系,两个或更多线程在执行中出现,永远相互等待只能由其他进程引发的事件 进程访问资源的流程是:请求/获取资源->使用资源->释放资源 资源分类: 1.可重用资源(Reusable Resource) 资源不能被删除且在任何时刻只能有一个进程使用 进程释放资源后,其他进程可重用 (处理器,I/O通道,主副存储器,设备,文件,数据库,信号量等) 可能出现死锁(每个...

2018-09-23 21:49:31 982

原创 信号量与管程

基本同步方法: 信号量和管程是操作系统提供的两种同步方法 多线程并发导致了资源竞争这样的并发问题,这时候需要协调多线程对共享数据的访问,要求任何时刻只能有一个线程执行临界区代码,也就是同步。确保同步正确的方法有底层硬件上的实现和高层次的编程抽象,信号量和管程就是其中两个高层次的编程方法。 信号量(semaphore):(由Dijkstra提出) 信号量是操作系统提供的一种协调共享资源访问的方法 ...

2018-09-23 00:10:33 2067

原创 同步互斥

原子操作:(Atomic Operation)原子操作是指一次不存在任何中断或失败的操作 要么操作成功完成,或者操作没有执行,不会出现部分执行的状态 操作系统需要利用同步机制在并发执行的同时,保证一些操作是原子操作 进程的交互关系:相互感知程度 互斥(mutual exclusion):一个进程占用资源,其他进程不能使用 死锁(deadlock):多个进程各自占用部分资源,形成循环等待 饥饿(s...

2018-09-21 18:36:54 261

原创 处理机调度

处理机调度概念: 处理机调度:从就绪队列中挑选下一个占用CPU运行的进程;从多个可用CPU中挑选就绪进程可使用的CPU资源 调度程序:挑选就绪进程的内核函数。 什么时候进行调度呢?依据什么原则挑选进程/线程呢? 在运行态进程退出或者进入等待状态时进行调度,或者当前进程被抢占时调度。 (CPU资源的使用模式:进程在CPU计算和I/O操作之间交替。CPU在计算模式的时间往往比较短,而且短时间计算的频率...

2018-09-20 23:11:05 239

原创 进程控制

本篇博客简要说明以下几个问题: 进程切换,内核如何实现进程间切换? 进程创建,用户要创建新进程,如何创建呢? 进程加载,如何运行一个新进程? 进程等待与退出,父子进程的交互 进程切换: 进程切换实际上是上下文的切换。暂停当前运行的进程,从运行态变成其他状态;调度另一个进程从就绪态变成运行态。 进程切换的要求是 切换前保存进程上下文,切换后恢复进程上下文(上下文:主要指寄存器中的信息),快速切换 进...

2018-09-20 01:16:49 677

原创 进程与线程概念

进程的定义: 进程是指一个具有一定独立功能的程序,在一个数据集合上的一次动态执行过程。 如下图所示,源代码文件经过编译链接形成可执行文件,将可执行文件加载进内存进行执行。为什么要加载进内存呢?这是因为负责解析和运行程序的CPU需要通过内部的程序计数器来指定内存地址,然后才能读出程序;并且,加载进内存,能对数据进行处理,让程序能够运行。那CPU不能直接读取外部磁盘的数据和程序吗?可以。但是访问磁...

2018-09-18 15:34:48 15093 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除