调度算法
银行家算法
内存管理
shell脚本编程
1.操作系统有四个特征:并发、共享、异步、虚拟。
2.进程是计算机中已运行的实体。通常有五种状态:运行状态、就绪状态、阻塞状态、创建状态、结束状态。
当一个就绪进程获得处理时,就由就绪变成执行。
当一个进程被剥夺处理机时,其运行状态就由运行变成就绪。
当一个进程因事件被阻,所申请的资源被占用、启动I/O传输未完成,其状态由执行变为阻塞。如果获得资源,就会由阻塞变为执行。
3.进程的组成包括程序、数据和进程控制块。
4.创建新进程会创建新的地址空间,子进程是父进程的复制品,在fork之后子进程获得父进程的数据空间、堆和栈的复制品,而进程使用当前的地址空间。
5.printf 加入\n会刷新缓冲区,子进程的就不会得到相应的缓冲区。
6.线程是程序执行流的最小单元。一个标准的线程是由线程ID,当前指令指针,寄存器集合和堆栈组成。线程不拥有系统资源,可以与同一进程的其他线程共享进程所拥有的资源。
7.线程共享的进程环境包括:进程代码段、进程的公有数据(全局变量)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID
8.线程个性:线程ID、寄存器组的值、线程的堆栈(在一个进程的线程共享堆区)、错误返回码、线程的信号屏蔽码、线程的优先级
9.进程只作为除CPU以外系统资源的分配单位。线程作为处理器的分配单元。
10 进程间的通信要借助操作系统,而线程间就可以直接读/写进程数据段。
11.访问临界资源的那段代码称为临界区。
linux下进程间通信的几种重要手段:
管道、信号、消息队列、共享内存、信号量、套接口(socket)
12.临界区critical section 只能用来同步本进程内的线程,而不可用来同步多个进程中的线程。
互斥量mutex,信号量semaphore,事件都可以被跨越进程使用来进行同步数据操作。
13临界区是非内核对象,只在用户态进行锁操作,互斥体mutex是内核对象,在核心态进行锁操作,速度慢
14 临界区和互斥体在windows平台下都可以用,linux下只有互斥体可以用。
15.调度算法和银行家算法需要单独复习》
16.死锁产生的必要条件
互斥条件
不剥夺条件
请求和保持条件
循环等待条件
17内存管理需要再看。
18.