操作系统进程线程

1.冯诺依曼体系结构
我们常见的计算机如笔记本,我们不常见的计算机如服务器,大部分都是遵守冯诺依曼体系。

截至目前,我们所认识的计算机,都是有一个个的硬件组成组成。

  • 输入单元:包括键盘,鼠标,扫描仪,写板等
  • 中央处理器(CPU):含有运算器和控制器等
  • 输出单元:显示器,打印机等

2.操作系统

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统地理解,操作系统包括:

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)
    2.2.OS定位
  • 在整个计算机软硬件架构中,操作系统的定位是:一款纯正的“搞管理的”软件。

2.3设计OS的目的

  • 与硬件交互,管理所有的软硬件资源(对内且对下)
  • 为用户程序(应用程序)提供一个良好的执行环境(对外且对上)

3.1进程的初步认识

对于操作系统来说,一个任务就是一个进程(Process)。

  • 课本概念:程序的一个执行实例,正在执行的程序等。
  • 内核观点:担当分配系统资源(CPU时间,内存)的实体。

对资源分配最小的单位

3.2时间片

现代操作系统比如mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统,所谓的多任务,就是操作系统可以同时运行多个任务。

操作系统的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停取执行下一个任务,每个任务轮流进行。

任务执行的一小段时间叫做时间片,任务正在执行的状态叫做运行状态,任务执行一段时间后强制暂停取执行下一个任务,被暂停的任务就处于就绪状态,等待下一个属于它的时间片的到来。

这样每个任务都能得到执行,由于CPU的执行效率非常高,时间片非常短,在各个任务之间快速切换,给人的感觉是多个任务在“同时进行”,这也就是我们说的并发。

3.3.并发与并行

现在,多核CPU已经非常普及了,由于任务数量远多于CPU的核心数量,所以操作系统也会自动把很多任务轮流调度到每个核心上执行。
对于

  • 并发:多个进程在一个CPU下采用时间片轮转的方式,在一个时间段内,让多个进程都都得以推进,称之为并发,注意这是伪同步。
  • 并行,多个进程在多个CPU下分别,同时进行运行,这称之为并行

计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机,多个进程在同一个时间间隔运行的)。

3.4内核态和用户态

一般的操作系统,对执行权限进行分级:用户态和内核态。

  • 操作系统的内核作为直接控制硬件设备的底层软件,权限最高,称为内核态或核心态
  • 用户程序的权限最低,称为用户态

就好比张三取银行,需要调表,自己写姓名,电话邮箱等等,做着自己的事情,这叫做用户态

而张三通过窗口的工作人员,把自己的需求给工作人员,自此,张三在等待,银行工作人员在忙,对于张三来说,就叫做陷入内核。那么内核态是什么意思?就是工作人员在帮你办理业务时的状态。

3.5.进程中的上下文
上下文简单来说就是一个环境,进程在时间片轮转切换时,由于每个进程运行环境不同,就涉及到转换前后的上下文环境的切换。

  • 就是一个进程在执行的时候,CPU的所有寄存器的值、进程的状态以及堆栈上的内容。
  • 切换时需要保存当前进程的所有状态,即保存当前进程的进程上下文,以便再次执行到该进程时候,能够恢复切换时的状态,继续执行。

3.5.进程状态

在这里插入图片描述
就绪:进程处于可运行状态,只是CPU时间片还没有轮转到该进程,则该进程处于就绪状态。
运行:程序处于可运行状态,且CPU时间片轮转到该进程,该进程正在执行代码,则该进程处于运行状态
阻塞:进程不具备运行条件,正在等待某个事件的完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值