Linux文件类型

1.普通文件(—) 此种文件中包含某种形式的数据,数据的解释由处理该文件的应用程序负责 2.目录文件(d) 包含其他文件的名字和指向与这些文件有关信息的指针 3.字符特殊文件(c) 用于系统中某些类型的设备 4.块特殊文件(b) 典型的用于磁盘设备 5.管道文件(p) 用于进程间通信,也叫命名管道...

2018-10-30 20:47:34

阅读数 35

评论数 0

设计模式之八大设计原则

面向对象设计原则: 一.依赖倒置原则(DIP): +高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定)。 +抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定)。 二.开放封闭原则(OCP) +对扩展开放,对更改封闭 +类模板应该是可扩展的,但是不可修改...

2018-10-04 19:29:50

阅读数 123

评论数 0

errno,perror,strerror怎么用

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

2018-09-27 17:08:00

阅读数 76

评论数 0

柔性数组

C99中,结构体中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员 typedef struct st_type { int i; char a[0]; }type_a; 或者: typedef struct st_type { int i; char a[]; }type_...

2018-09-27 16:15:06

阅读数 23

评论数 0

I/0子系统

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

2018-09-27 15:23:52

阅读数 139

评论数 0

文件系统

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

2018-09-25 01:27:54

阅读数 32

评论数 0

死锁,进程间通信

死锁:由于竞争资源或者通信关系,两个或更多线程在执行中出现,永远相互等待只能由其他进程引发的事件 进程访问资源的流程是:请求/获取资源->使用资源->释放资源 资源分类: 1.可重用资源(Reusable Resource) 资源不能被删...

2018-09-23 21:49:31

阅读数 100

评论数 0

信号量与管程

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

2018-09-23 00:10:33

阅读数 187

评论数 0

同步互斥

原子操作:(Atomic Operation)原子操作是指一次不存在任何中断或失败的操作 要么操作成功完成,或者操作没有执行,不会出现部分执行的状态 操作系统需要利用同步机制在并发执行的同时,保证一些操作是原子操作 进程的交互关系:相互感知程度 互斥(mutual exclusion):一个进程...

2018-09-21 18:36:54

阅读数 21

评论数 0

处理机调度

处理机调度概念: 处理机调度:从就绪队列中挑选下一个占用CPU运行的进程;从多个可用CPU中挑选就绪进程可使用的CPU资源 调度程序:挑选就绪进程的内核函数。 什么时候进行调度呢?依据什么原则挑选进程/线程呢? 在运行态进程退出或者进入等待状态时进行调度,或者当前进程被抢占时调度。 (CPU资源的...

2018-09-20 23:11:05

阅读数 47

评论数 0

进程控制

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

2018-09-20 01:16:49

阅读数 79

评论数 0

进程与线程概念

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

2018-09-18 15:34:48

阅读数 1123

评论数 0

腾讯笔试——安排机器 【 题目描述】小 Q 的公司最近接到 m 个任务, 第 i 个任务需要 xi 的时间去完成, 难度等级为 yi。 小 Q 拥有 n 台机器, 每台机器最长工作时间 zi, 机器等

安排机器 【 题目描述】小 Q 的公司最近接到 m 个任务, 第 i 个任务需要 xi 的时间去完成, 难度等级为 yi。 小 Q 拥有 n 台机器, 每台机器最长工作时间 zi, 机器等级 wi。 对于一个任务,它只能交由一台机器来完成, 如果安排给它的机器的最长工作时间小于任务需要的时间...

2018-08-28 11:50:55

阅读数 1706

评论数 1

腾讯笔试—— 小 Q 的歌单 【 题目描述】小 Q 有 X 首长度为 A 的不同的歌和 Y 首长度为 B 的不同的歌,现在小 Q 想用这些歌组成一个 总长度正好为 K 的歌单,每首歌最多只能在歌单中

小 Q 的歌单 【 题目描述】小 Q 有 X 首长度为 A 的不同的歌和 Y 首长度为 B 的不同的歌,现在小 Q 想用这些歌组成一个 总长度正好为 K 的歌单,每首歌最多只能在歌单中出现一次,在不考虑歌单内歌曲的先后顺序的情况下, 请问有多少种组成歌单的方法。 输入描述 : 每个输入...

2018-08-25 17:02:19

阅读数 1491

评论数 1

网易笔试——1 、字符串碎片 【 题目描述】一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac" 是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定

字符串碎片 【 题目描述】一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,”aaabbaaac” 是由下面碎片组成的:’aaa’,’bb’,’c’。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的 平均长度是多少。 输入描述: : 输入包括一个字符串 s,...

2018-08-25 16:07:59

阅读数 924

评论数 0

百度笔试——最大子序列 【 题目描述】对于字符串 x 和 y, 如果擦除 x 中的某些字母(有可能全擦掉或者都不擦)能够得到 y,我们就 称 y 是 x 的子序列。例如."ncd"是"nowcoder

最大子序列 【 题目描述】对于字符串 x 和 y, 如果擦除 x 中的某些字母(有可能全擦掉或者都不擦)能够得到 y,我们就 称 y 是 x 的子序列。例如.”ncd”是”nowcoder”的子序列,而”xt”不是。 现在对于给定的一个字符串 s,请计算出字典序最大的 s 的子序列。 输入...

2018-08-25 13:22:52

阅读数 337

评论数 0

百度笔试—字符覆盖 【 题目描述】小度有一个小写字母组成的字符串 s.字符串 s 已经被写在墙上了. 小度还有很多卡片,每个卡片上有一个小写字母,组成一个字符串 t。小度可以选择字符串 t 中

3 、字符覆盖 【 题目描述】小度有一个小写字母组成的字符串 s.字符串 s 已经被写在墙上了. 小度还有很多卡片,每个卡片上有一个小写字母,组成一个字符串 t。小度可以选择字符串 t 中任意一个字 符,然后覆盖在字符串 s 的一个字符之上。小度想知道在选取一些卡片覆盖 s 的一些字符之后,...

2018-08-25 11:08:49

阅读数 864

评论数 0

c语言字符串处理函数模拟实现

int fl_strlen_1(const char* str) { int count = 0; while (*str != '\0') { count++; str++; } return count; } int...

2018-08-24 16:40:42

阅读数 44

评论数 0

volatile

先来看一段程序: const int num = 10; int *p = (int *)# *p = 20; printf("%d\n", num); ...

2018-08-22 17:11:56

阅读数 36

评论数 0

浮点数的存储解析

浮点数家族:float , double , long double 浮点数的表示范围:float.h中定义 常见的浮点数:3.14159,1e3 根据国际标准IEEE(电器和电子工程协会)754,任意一个二进制浮点数V可以表示成下面这种形式: (-1)^S * M * 2^E (-1...

2018-08-22 16:28:59

阅读数 545

评论数 0

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