操作系统
GoingJack
怕什么真理无穷,进一寸有一寸欢喜。
展开
-
windows平台下关于 SysNative 目录 重定向问题
参考MSDN文档 关于文件重定向的问题1 先看下面代码#define SYSTEM32 "C:/Windows/System32/123.txt"#define SYSNATIVE "C:/Windows/SysNative/123.txt"int main(){ if (CopyFile("D:/123.txt", SYSTEM32, FALSE) == 0) { printf("%d\n", GetLastError()); printf("failed原创 2020-11-25 23:36:10 · 721 阅读 · 0 评论 -
动态链接
参考书籍:《C专家编程》动态链接地目的:主要目的是:把程序于它们使用的特定的函数库版本中分离开来。取而代之的是,我们约定由系统提供一个接口,该接口保持稳定,不随时间和操作系统的后续版本发生变化。使用动态链接 的优点于不足优点:1,可执行文件的体积可以非常小,更加有效地利用磁盘空间(换句话说它能够节省磁盘空间和虚拟内存,因为函数库只有在被需要时才被映射到进程中。),链接阶段地时间会...原创 2019-08-15 22:10:22 · 133 阅读 · 0 评论 -
TCP报文头部结构详解和作用解析
TCP报文的头部结构这个头部结构非常的重要,建议大家记住.可以画出来并且可以说出来每个部分的作用是什么,主要是要会解释TCP怎么保证通讯的可靠机制的。其中,32位序号是指通讯过程中,某个传输方向上的字节流的每个字节的编号。32位确认号:用作另外一方发送来的TCP报文段的响应。其值就是收到的TCP报文段的序号值加1。4位头部长度:标识该TCP头部有多少个32bit字(4字节...原创 2019-07-22 14:30:53 · 8030 阅读 · 0 评论 -
关于mutable,explicit和volatile的解析
mutable修饰普通成员变量,在const常方法中能够修改mutable修饰的普通成员变量。using namespace std;class Test{public: void chageMa(int val) const { ma = val; cout << "ma" << ma << endl; }private:...原创 2019-07-16 17:54:22 · 183 阅读 · 0 评论 -
【linux环境编程】模拟Shell解释器熟悉linux下的C语言编程
开发环境Red Hat Enterprise Linux Server release 7.0 (Maipo)开发语言C参考书籍Linux程序设计 第四版代码地址https://github.com/GoingJack/Mybash知识要点 用户名字,用户ID的获取方法头文件: #include <sys/types.h> #include...原创 2019-07-06 18:23:32 · 421 阅读 · 0 评论 -
浅谈进程同步于通信(二)经典互斥于同步问题
生产者-消费者模型所谓生产者消费者模型,就是生产者和消费者共享一个有界缓冲池,生产者向其中投放产品,消费者从中取出产品消费。生产者:我们定义一个设置空缓冲区个数的信号量empty,设置empty.value的初值为n;消费者:我们定义一个放入产品的满缓冲区个数信号量full,设置full.value的初值为0.我们需要为了给访问有界缓冲池定义一个信号量 mutex来保证任何时刻只有...原创 2019-06-17 23:29:20 · 156 阅读 · 0 评论 -
浅谈进程同步于通信(一)
一些基本概念:进程同步:进程间这种等待对方消息的协调关系。进程互斥:某一资源同一时间仅允许一个进程对它访问。饥饿:一个进程所申请的资源总是被优于自己的其他进程所占有,而长时间处于不能被调度执行状态。死锁:进程集合中某些进程处于永远的阻塞状态。临界资源:一段时间内只允许一个进程使用的资源。临界区:访问临界资源的代码称为临界区。实现进程互斥的方法1,硬件方法...原创 2019-06-17 21:55:34 · 362 阅读 · 0 评论 -
缓冲区刷新的4个条件
程序结束 exit()会刷新缓冲区 _exit()不会刷新缓冲区 遇到"\n"会刷新 缓冲区满(linux下默认缓冲区的大小为1024字节) 主动刷新 fflush(stdout);原创 2019-06-21 13:49:26 · 819 阅读 · 0 评论 -
关于硬盘一些知识
原创 2019-05-10 00:16:27 · 263 阅读 · 0 评论 -
三种虚拟化的区别
原文:https://blog.csdn.net/enweitech/article/details/52910082目前比较常见的三种虚拟化技术:OpenVZ,Xen,KVM.OpenVZ(容易超卖)操作系统级别的虚拟化技术,是操作系统上的一层应用,这意味着易于理解和重开销。配置起来比较灵活(这便给黑心服务商改低限制的机会。)缺点:由于是基于操作系统的虚拟化,别人用多了你就少了。...原创 2019-05-06 14:35:23 · 3902 阅读 · 0 评论 -
关于1byte 1KB 1MB 1GB求其所能表示的地址范围
1字节=1byte=8bit 一字节是8位 字节是是计算机信息技术用于计量存储容量的一种计量单位。编码于字节:ASCII:一个英文字母占一个字节的空间。UTF-8:一个英文字符等于一个字节,一个中文等于三个字节。Unicode编码:一个英文等于俩个字节,一个中文等于俩个字节。1KB = 1024byte = 2^10byte,转化位16进制位0x4001KB能表示1...原创 2019-04-28 08:44:23 · 5245 阅读 · 0 评论 -
异常,中断,系统调用
异常(exception)非法指令或者其他原因导致当前指令执行失败。(如:内存出错)后的处理请求中断(hardware interrupt)来自硬件设备的处理请求系统掉用(system call)应用程序主动向操作系统发出的服务请求。三者区别:源头:中断:外设异常:应用程序意想不到的行为系统调用:应用程序请求操作提供服务响应方式:中断:异步...原创 2019-04-12 15:28:45 · 425 阅读 · 0 评论