操作系统
ATM006
风之积也不厚 其负大翼也无力
展开
-
多线程同步(信号量,互斥锁,条件变量)
多线程编程线程:程序中一个完成独立任务的的完整序列,即一个可调度的实体。内核线程:运行在内核空间,由内核调度。用户线程:运行在用户空间,有线程库来调度。线程的实现分三种模式:1.完全用户空间实现:优点:创建和调度无需内核参与,速度快。不占用额外内核资源。缺点:对于多处理器系统,一个进程的多个线程无法运行在不同的CUP。2.完全有内核调度:有趣点:与1.相反。3.双层调度:兼原创 2017-02-27 17:35:25 · 545 阅读 · 0 评论 -
字节序 大端vs小端
大端最大字节地址出现在最低有效字节(LSB) n n+1 n+2 n+3MSB-----------------MSB小端最低有效地址出现在最低有效字节(MSB)n+3 n+2 n+1 nMSB-----------------MSB!最低有效字节-->最大有效字节#incl原创 2016-10-02 18:36:44 · 431 阅读 · 1 评论 -
C语言函数堆栈调用过程
ebp栈底指针(寄存器)esp栈顶指针(寄存器)栈底指针(ebp)-偏移表示地址1、函数调用先压实参(从右向左支持可变参),通过(栈底指针-偏移)把实参移到寄存器(eax、ecx)再压入栈2、(call指令)先把当前栈帧下一行指令地址入栈,再跳转。 入栈过程:1、把调用方栈底指针(ebp)压入当前栈顶,再把调用方栈底指针(ebp)向当前栈顶指针(esp);2、栈顶指针上移(esp-X)开辟空间...原创 2017-11-01 11:04:52 · 1008 阅读 · 0 评论 -
后台开发面试常被问到的问题(一):什么之间的区别
后台开发面试常被问到的问题:什么之间的区别笔者在将近半年的求职经历总结new和malloc区别1、申请内存位置2、返回值类型3、分配内存失败时返回值4、是否需要指定内存大小5、是否调用构造、析构函数6、对数组处理7、new和malloc相互调用8、重载9、重新分配内存10、客户处理内存不足 C/C++区别一、带有默认值的函数 C++函数的原型中可以声明一个或多个带有默认值的参数。二、Inlin...原创 2017-11-12 16:44:08 · 1869 阅读 · 0 评论