操作系统

一、概念

1.什么是操作系统?

任何计算机系统都包含一个基本的程序集合,称为操作系统(Operator System)
那么,我们为什么要设计操作系统呢?
在这里插入图片描述
在上图中可以看出,操作系统是衔接用户模块和硬件模块的关键。
因此,设计操作系统的目的就是:

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

2.操作系统包括什么?

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)
    在这里插入图片描述

3.操作系统是如何管理硬件和软件的呢?

  • 软件管理:进程管理,内存管理,文件管理
  • 硬件管理:驱动管理—>是通过驱动程序间接管理硬件

二、进程

1. 进程、程序、文件

文件: 一个pdf文件就是文件
程序: 表现在磁盘上的静态资源,属于文件,是一种可执行的资源,通过双击运行在内存中,然后程序就转变为进程
进程: 运行起来的是程序,对于操作系统来说,一个任务就是一个进程(Process)。------->任务管理器里边的进程,表现在操作上动态执行的,被操作系统所管理的
进程、程序、文件之间的关系:

  • 用wps这个程序文件运行pdf文件,运行起来的wps(打开pdf)是进程
  • 比如我们使用的idea,它本身是用程序写的,通过双击,将idea运行起来,就变成了进程,在任务管理器中可以查看。

2. 进程中的上下文

  • 上下文:具体指某一个环境,环境的上文和下文
  • cpu在时间点内切换出去的进程叫环境的上文,会保存寄存器中的值、进程的状态以及堆栈的内容,再次切换回来为环境的下文。

在这里插入图片描述

3. 时间片:

1) 多任务:

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

2) 操作系统的调度方式:

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

3) 时间片、进程状态:

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

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

4.单核CPU与多核CPU

1) 单核CPU:

单核cpu:是一个cpu通过时间片轮转的方式循环调度进程的。
在这里插入图片描述
表现结果:人肉眼看起来所有进程都在“同时”执行,但是在CPU视角来看,是每个进程在时间段内进行切换—>不停的轮流执行(时间片轮转调度)
并发(假同时): 即:单个CPU多个任务在一个时间范围以时间片轮转方式

2) 多核CPU:
  • 每一个CPU和单核的CPU是一样的
  • 但是在一个时间点上,可以同时运行多个进程(每个CPU都可以调度进程,就是多进程)

并行(真同时): 多个CPU一个时间点多个任务同时执行

5.内核态和用户态

  • 进程运行起来以后属于用户态,当涉及到网络io/本地io操作,进程就由用户态切换到内核态,操作完返回程序时,由内核态装变为用户态
  • 用户态切换到内核态比较耗时的一种操作
  • 文件操作:用户由用户态转为内核态(本地IO)。本地文件读取过程:从本地磁盘读取到系统的内存中,然后再读取到Java虚拟机的内存(读)。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值