初识计算机操作系统与进程

操作系统

1.硬件组成

核心:冯诺依曼体系结构在这里插入图片描述
组成:

  • 输入设备: 键盘、鼠标、扫描仪等
  • 中央处理器(CPU):运算器和控制器
  • 输出设备:显示器、打印机等

特点:

  • CPU 和输入设备或输出设备之不能直接交互,必要依靠中间的储存部分(内存)
    内存中数据不能持久化,电脑重启后就没了,磁盘中的数据可以持久化

2. 软件OS

2.1 什么是操作系统?

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

  • 内核(进程管理,内存管理,文件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)
2.1 怎么理解操作系统?

类比银行系统和操作系统的:

区别银行系统操作系统
业务存取款、贷款、转账基本API的调用
提供服务的方式以窗口的形式对外提供各种服务以接口的形式对用户提供各种服务
管理者的角色通过硬件设备负责人进行硬件管理 , 如:电脑是否正常工作,工作环境是否干净等也要在系统内部进行常规的业务管理,比如:传款接待等通过硬件设备驱动进行硬件管理,比如:硬盘当前是否正常工作,网卡是否收到数据等。在系统内部进行常规的软件业务管理,比如:文件管理、去顶管理、进程管理
执行者的角色硬件设备的负责人各种负责硬件正常进行基本工作的软件程序、驱动程序
被管理者的角色银行安保设备、调度设备、货币设备、员工公寓等其他硬件设备各种计算机硬件、整体以冯诺依曼框架组织、如CPU、内存、网卡、硬盘等

总的来说:

  1. 管理者的任务分为两种:硬件管理和软件管理
  2. 按照目标对象分两种:对内管理和对外的业务管理
2.3 为什么要设计OS

设计操作系统的目的:

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

在这里插入图片描述

3.进程

3.1 什么是进程

一个执行任务就说一个进程。
在这里插入图片描述

可执行文件(.exe) 不等于进程
但当运行一个exe时候就会产生一个进程
在这里插入图片描述
编写一个java进程:

public class HelloJava {
    public static void main(String[] args) throws InterruptedException {
        Thread.sleep(2*60*1000);   // 等待 2分钟
    }
}

在cmd中编译并运行:

javac Test.java
java Test

打开任务管理器中查该进程:
在这里插入图片描述

3.2 进程的本质

进程在操作系统中是由一个链表组成的多个 PCB(进程管理模块)结构体
每次运行exe文件时相当于在内核中PCB链表中把这个exe文件
转换成了一个 PCB 结构体在这里插入图片描述
PCB(进程管理模块)结构体:

  1. PID (主键ID、身份识别)
    PID 是进程的身份ID,是唯一的,但是重启后 PID 就变了
    [外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imbl.csdnimg.cn/202CGjT10502010848190.285)(https://img-哇ng)]

  2. 状态信息(就绪、运行、堵塞、终止)
    在这里插入图片描述

  3. 优先级 (用于资源分配)

  4. 记账信息(记录进程运行次数,把防止CPU分配资源不均)

  5. 一组指针(进程需要使用的资源)

  6. 上下文信息(进程运行时是分时运行的,当分配到CPU 资源时执行,然后没有CPU资源之后, 暂时保存当前状态,等待下一次执行,这个过程叫做一个上下文)

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

操作系统的任务调度是猜用时间片轮转的抢占式调度方式,当一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行,任务执行的一小段时间就叫做时间片。

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

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

并发相当于:一个银行只有一个窗口,工作人员轮流给每个人办业务,但是只给每个人 1 分钟,时间一到保存进度,然后接着下一个人上一次的保存的进度继续办理业务。

并行相当于:银行有很多窗口,同时给所有人办理业务。

3.5 内核态与用户态

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

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

举个例子:
张三去银行办业务,在表上填写自己写姓名,电话,邮箱等等,做着自己的事情,这叫做用户态,而张三通过窗口的工作人员,把自己的需求给工作人员,自此,张三在等,银行工作人员在忙,对张三来讲,就叫做陷入内核。
内核态就是工作人员在帮你办理业务时的状态

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值