1. C,C++程序内存区
2. IP地址分类:
3.计算机网络知识:
浏览器访问某页面,HTTP协议返回状态码为403时表示:禁止访问
浏览器访问某页面,HTTP协议返回状态码为404时表示:找不到该页面
浏览器访问某页面,HTTP协议返回状态码为500时表示:内部服务器访问
浏览器访问某页面,HTTP协议返回状态码为503时表示:服务器繁忙
4. C++,类的构造
当派生类中不含对象成员时
· 在创建派生类对象时,构造函数的执行顺序是:基类的构造函数→派生类的构造函数;
· 在撤消派生类对象时,析构函数的执行顺序是:派生类的构造函数→基类的构造函数。
当派生类中含有对象成员时
· 在定义派生类对象时,构造函数的执行顺序:基类的构造函数→对象成员的构造函数→派生类的构造函数;
· 在撤消派生类对象时,析构函数的执行顺序:派生类的构造函数→对象成员的构造函数→基类的构造函数
5. 进程的状态:
进程分为基本的三个状态:运行、就绪、阻塞/等待。
A. 高优先级的抢占CPU,使得原来处于运行状态的进程转变为就绪状态。
B. 阻塞的进程等待某件事情的发生,一旦发生则它的运行条件已经满足,从阻塞进入就绪状态。
C. 时间片轮转使得每个进程都有一小片时间来获得CPU运行,当时间片到时从运行状态变为就绪状态。
D. 自旋锁(spinlock)是一种保护临界区最常见的技术。在同一时刻只能有一个进程获得自旋锁,其他企图获得自旋锁的任何进程将一直进行尝试(即自旋,不断地测试变量),除此以外不能做任何事情。因此没有获得自旋锁的进程在获取锁之前处于忙等(阻塞状态)。
“获得spinlock ”:自旋锁是为了互斥同步访问的,就是说一个进程想访问一个互斥变量,但是这个变量目前被别人使用,那么自己就执行一个忙循环,也就是执行一个自旋锁,但是不明白这个题目中的“未果”是什么意思?求解答
6. 进程
Linux进程间通信:管道、信号、消息队列、共享内存、信号量、套接字(socket)
Linux线程间通信:互斥量(mutex),信号量,条件变量
Windows进程间通信:管道、消息队列、共享内存、信号量 (semaphore) 、套接字(socket)
Windows线程间通信:互斥量(mutex),信号量(semaphore)、临界区(critical section)、事件(event)
7. 同步
同步机制应该遵循的基本准则
· 空闲让进:当无进程处于临界区时,表明临界资源处于空闲状态,允许一个请求进入临界区的进程立即进入临界区,以有效利用临界资源
· 忙则等待:当已有进程处于临界区时,表明临界资源正在被访问,因而其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问
· 有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态
· 让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态
8. 伙伴地址