1.操作系统四大功能1进程控制负责CPU的分配与调度。注操作系统负责创建运行与终止进程同时通过调度算法决定哪个进程获取处理器资源。2内存管理管理计算机的主存。注操作系统为进程分配独立的地址空间确保内存隔离。3设备管理管理所有外部设备。注操作系统通过设备驱动程序提供统一的接口使得不同设备高效访问。4文件管理管理外存的信息同时提高系统并发能力。注操作系统管理文件的创建、删除、读写等操作并通过文件系统提供目录结构。2.进程1定义操作系统进行资源管理和调度的基本单位。2管理资源1硬件资源资源类型说明分配方式CPU时间片进程获得CPU执行权的时长调度算法分配物理内存内存空间虚拟内存机制I/O设备键盘网卡等设备的访问权限设备驱动程序分配寄存器组CPU寄存器状态进程切换的保存/恢复2软件资源资源类型说明分配方式文件描述符进程打开的文件管道等句柄open()网络端口进程绑定的TCP/UDP端口bind()信号量/锁进程间的同步机制IPC机制分配共享内存进程间共享的内存区域shmget()进程标识符唯一标识进程的ID内核自动分配环境变量进程运行的配置参数继承或显式设置3并发执行同时处理多个进程。注并发使得进程在同一时间内交替执行尽管可能不在物理上同时运行。4同步与互斥同步多个进程访问共享资源必须保持同步进程在访问重要资源必须等待其他进程完成其操作避免数据不一致。互斥确保同一时间只有一个进程可以访问共享资源。3.进程状态状态切换的过程 就绪态程序创建一个进程分配必要资源。就绪态 运行态系统调度器从就绪队列中选择进程执行。运行态 阻塞态进程停止执行等待事情。运行态 终止态进程执行完毕释放占有的资源。注挂起通常是内存资源不足进程暂时从内存中移至外存的过程可以发生在任何状态。4.进程的调度与死锁1进程调度概念决定哪个进程获得执行权实现高效多任务处理。调度策略先来先服务最短作业优先轮转时间片等。2死锁概念两个或多个进程在执行过程中多进程环境中相互等待对方释放资源而无法执行的状态。3死锁条件互斥条件资源被进程占用另一个进程必须等待。占有且等待进程持有一个资源并等待获取其他资源。不剥夺条件资源被进程占有不可以剥夺必须等待其释放。等待循环循环链条每个进程都在等待下一个进程占有的资源注四个条件同时满足才可能出现死锁。4问如何避免死锁答1.破坏死锁条件2.资源分配算法银行家算法3.死锁检测与恢复周期性检测 杀掉进程或强行释放资源4.预防策略软件优化5.线程池与线程创建1线程池管理与复用多线程地机制预创建一些线程放入池中需要时快速分配与重用减少频繁创建与销毁线程的开销。避免线程过多造成的资源竞争与上下文切换。2线程创建继承线程类创建继承线程类的子类重写Run()方法。实现Runnable接口实现Runnable接口将实例传递给线程对象创建线程。6.线程同步问题多线程环境同步确保多个线程安全地访问共享资源地手段。常见同步手段如下1互斥机制互斥锁Mutex线程访问资源加锁退出解锁资源被占用时申请的线程阻塞等待。自旋锁Spinlock当锁被持有申请锁的线程不会阻塞而是是持续循环检查锁是否可用直到拿到锁。注原子操作不可被中断操作要么全部执行要么不执行。2同步机制信号量Semaphore控制同时访问特定资源的线程数量。变量条件允许线程在特定条件下等待当条件满足其他线程可以通知等待线程继续执行。7.线程安全问题数据竞争多线程同时修改共享数据可能导致不一样的结果。死锁问题活锁问题线程在不断尝试获得锁却失败未阻塞但无法前进。饥饿线程长时间无法获取资源导致无法执行。8.信号量机制概念信号量是一种控制对共享资源访问的同步机制主要通过一个计数器来管理并发访问。机制详解线程进程想要访问某个资源会执行P操作。如果资源信息量的计数器大于0线程进程继续执行且计数器-1。计数器为0线程进程进入等待状态直到其他线程进程释放资源。线程进程完成使用后执行V操作计数器1可能唤醒等待该资源的其他线程进程。注P操作申请资源V操作释放资源。作用限制并发访问减少数据竞争与死锁。解决方式信号量机制。9.线程与进程1区别区别线程进程定义CPU调度的基本单位系统分配与调度资源的基本单位资源占用多个线程共享同一进程的内存与资源拥有独立的内存空间数据段与系统资源调度与开销线程切换需保存与加载线程状态开销小。进程切换需保存与加载完整的进程上下文开销较大并发性进程通信复杂多线程通过共享内存快速通信2联系一个进程包含一个主线程或多个线程进程为线程提供运行环境。进程与线程都为了实现多任务和并发执行进程通过内部多线程提高应用程序的响应能力与处理性能。
《操作系统》再学习
1.操作系统四大功能1进程控制负责CPU的分配与调度。注操作系统负责创建运行与终止进程同时通过调度算法决定哪个进程获取处理器资源。2内存管理管理计算机的主存。注操作系统为进程分配独立的地址空间确保内存隔离。3设备管理管理所有外部设备。注操作系统通过设备驱动程序提供统一的接口使得不同设备高效访问。4文件管理管理外存的信息同时提高系统并发能力。注操作系统管理文件的创建、删除、读写等操作并通过文件系统提供目录结构。2.进程1定义操作系统进行资源管理和调度的基本单位。2管理资源1硬件资源资源类型说明分配方式CPU时间片进程获得CPU执行权的时长调度算法分配物理内存内存空间虚拟内存机制I/O设备键盘网卡等设备的访问权限设备驱动程序分配寄存器组CPU寄存器状态进程切换的保存/恢复2软件资源资源类型说明分配方式文件描述符进程打开的文件管道等句柄open()网络端口进程绑定的TCP/UDP端口bind()信号量/锁进程间的同步机制IPC机制分配共享内存进程间共享的内存区域shmget()进程标识符唯一标识进程的ID内核自动分配环境变量进程运行的配置参数继承或显式设置3并发执行同时处理多个进程。注并发使得进程在同一时间内交替执行尽管可能不在物理上同时运行。4同步与互斥同步多个进程访问共享资源必须保持同步进程在访问重要资源必须等待其他进程完成其操作避免数据不一致。互斥确保同一时间只有一个进程可以访问共享资源。3.进程状态状态切换的过程 就绪态程序创建一个进程分配必要资源。就绪态 运行态系统调度器从就绪队列中选择进程执行。运行态 阻塞态进程停止执行等待事情。运行态 终止态进程执行完毕释放占有的资源。注挂起通常是内存资源不足进程暂时从内存中移至外存的过程可以发生在任何状态。4.进程的调度与死锁1进程调度概念决定哪个进程获得执行权实现高效多任务处理。调度策略先来先服务最短作业优先轮转时间片等。2死锁概念两个或多个进程在执行过程中多进程环境中相互等待对方释放资源而无法执行的状态。3死锁条件互斥条件资源被进程占用另一个进程必须等待。占有且等待进程持有一个资源并等待获取其他资源。不剥夺条件资源被进程占有不可以剥夺必须等待其释放。等待循环循环链条每个进程都在等待下一个进程占有的资源注四个条件同时满足才可能出现死锁。4问如何避免死锁答1.破坏死锁条件2.资源分配算法银行家算法3.死锁检测与恢复周期性检测 杀掉进程或强行释放资源4.预防策略软件优化5.线程池与线程创建1线程池管理与复用多线程地机制预创建一些线程放入池中需要时快速分配与重用减少频繁创建与销毁线程的开销。避免线程过多造成的资源竞争与上下文切换。2线程创建继承线程类创建继承线程类的子类重写Run()方法。实现Runnable接口实现Runnable接口将实例传递给线程对象创建线程。6.线程同步问题多线程环境同步确保多个线程安全地访问共享资源地手段。常见同步手段如下1互斥机制互斥锁Mutex线程访问资源加锁退出解锁资源被占用时申请的线程阻塞等待。自旋锁Spinlock当锁被持有申请锁的线程不会阻塞而是是持续循环检查锁是否可用直到拿到锁。注原子操作不可被中断操作要么全部执行要么不执行。2同步机制信号量Semaphore控制同时访问特定资源的线程数量。变量条件允许线程在特定条件下等待当条件满足其他线程可以通知等待线程继续执行。7.线程安全问题数据竞争多线程同时修改共享数据可能导致不一样的结果。死锁问题活锁问题线程在不断尝试获得锁却失败未阻塞但无法前进。饥饿线程长时间无法获取资源导致无法执行。8.信号量机制概念信号量是一种控制对共享资源访问的同步机制主要通过一个计数器来管理并发访问。机制详解线程进程想要访问某个资源会执行P操作。如果资源信息量的计数器大于0线程进程继续执行且计数器-1。计数器为0线程进程进入等待状态直到其他线程进程释放资源。线程进程完成使用后执行V操作计数器1可能唤醒等待该资源的其他线程进程。注P操作申请资源V操作释放资源。作用限制并发访问减少数据竞争与死锁。解决方式信号量机制。9.线程与进程1区别区别线程进程定义CPU调度的基本单位系统分配与调度资源的基本单位资源占用多个线程共享同一进程的内存与资源拥有独立的内存空间数据段与系统资源调度与开销线程切换需保存与加载线程状态开销小。进程切换需保存与加载完整的进程上下文开销较大并发性进程通信复杂多线程通过共享内存快速通信2联系一个进程包含一个主线程或多个线程进程为线程提供运行环境。进程与线程都为了实现多任务和并发执行进程通过内部多线程提高应用程序的响应能力与处理性能。