操作系统之进程,线程

操作系统定义

在这里插入图片描述
1、控制程序:一个系统软件,控制程序执行过程,防止错误和计算机的不当使用;执行用户程序,供用户提供各种服务;方便用户使用计算机系统。
2、资源管理器:应用程序与硬件之间的中间层;管理各种计算机硬件资源;提供访问计算机资源的高效手段;解决资源访问冲突;确保资源的公平使用。

操作系统基本构成

  1. 处理器(processor):控制计算机操作,执行数据处理功能。当只有一个处理器时,通常指中央处理单元CPU.
  2. 内存(main memory):存储数据和程序。计算机关机时,此类存储器的内容会丢失,而磁盘存储器的内容不易丢失。内存通常也成为实存储器(real memory)或主存储器(primary memory)
  3. 输入/输出模块(I/O module):计算机和外部环境之间移动数据。外部环境可以是硬盘、通信设备和终端。
  4. 系统总线(symtem bus):为处理器、内存和输入/输出模块间提供通信的设施。

进程

概念
进程为执行中的程序 = 程序 + 执行状态;
是操作系统处于正在执行状态程序的抽象;
同一个程序多次执行过程对应不同的进程;
指向需要资源:内存(保存的数据和代码)+ CPU(执行指令);
进程是有序代码的集合。
进程的五个状态:
在这里插入图片描述
特点:

  1. 动态性;可以动态的创建、结束进程
  2. 并发性:进程可以被独立的调度并占用处理机运行(交替执行多个程序)
  3. 独立性:不同进程工作不相互影响;
  4. 制约性:因访问共享数据/资源或者进程同步而产生制约
    常见通信方式
  5. 管道pipe:管道是一个环形缓冲区,允许两个进程以生产者/消费者的模型进行通信。先进先出,一个程序写,另一个程序读。
  6. 消息队列MessageQueue:每个进程都有一个相关的消息队列,为消息传递的进程提供msgsnd和msgrcv系统调用。
  7. 共享存储SharedMemory:虚拟内存中由多个进程共享的一个公共内存块。
  8. 信号量Semaphore:信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
  9. 套接字Socket:套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。
  10. 信号 ( sinal ) : 一个进程通知发生异步事件的机制。
    进程通信详细可点击

线程

概念:
是进程的一部分,是描述指令执行流状态;
进程中指令执行流最小的单位,是CPU调度的基本单位;
(进程是资源分配的单位,开销值操作系统用管理状态的时间与空间)
多线程是指操作系统在单个进程内支持多个并发执行路径的能力。
特点(时间少):
1、在已有进程中创建线程比创建全新进程时间少;
2、终止线程比终止进程花费时间少;
3、同一进程内线程切换比进程切换时间少;
4、线程提高不同的执行程序见通信的效率;
线程间通信:
线程间通信:由于多线程共享地址空间和数据空间,所以多个线程间的通信是一个线程的数据可以直接提供给其他线程使用,而不必通过操作系统(也就是内核的调度
锁机制、信号量机制(Semaphore)、信号机制(Signal)
详细请参见此处
参考资料《操作系统精髓与设计原理》–机械工业出版社

猜你喜欢

转载自blog.csdn.net/weixin_41762742/article/details/84071080