一、操作系统的基本概念

2023-05-16

一、操作系统的概念

1.定义

操作系统(OS)是控制和管理计算机系统的硬件和软件资源,并合理的组织调度计算机工作和资源的分配,以提供给用户和其他软件方便的接口和环境,是计算机系统最基本的系统软件。操作系统是对计算机系统的第一次扩充。

2.功能和目标

主要功能:处理机管理、存储器管理、文件管理、设备管理,作为用户和计算机硬件之间的接口。

命令接口----(交互式、批处理)。

程序接口—允许用户通过程序间接使用,由一组系统调用组成(程序接口=系统调用=广义指令)。

GUI—图形用户接口。

目标:安全、高效、方便用户使用。

3.操作系统的特性

1、并发(注意与并行区分)

所以,并发和并行的区别就很明显了。它们虽然都说是"多个进程同时运行",但是它们的"同时"不是一个概念。并行的"同时"是同一时刻可以多个进程在运行(处于running),并发的"同时"是经过上下文快速切换,使得看上去多个进程同时都在运行的现象,是一种OS欺骗用户的现象

下划线转载来源:https://www.cnblogs.com/f-ck-need-u/p/11161481.html

2、共享(注意与并发的关系)

3、虚拟(例虚拟存储器——空分复用技术,虚拟处理器——时分复用技术)

4、异步:在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度推进,这就是进程的异步性。(只有系统拥有了并发性,才有可能导致异步性)

4.操作系统的发展和分类

Tips:区分每个阶段的优缺点

手工操作阶段:

用户独占全机,人机速度矛盾导致资源利用率极低

批处理阶段(单道批处理系统):

引入脱机输入/输出技术,用磁带完成,并由监督程序负责控制作业的输入、输出。监督程序为OS的雏形。

优点:缓解了一定程度上的人机速度矛盾,资源利用率有所提高

缺点:内存中仅能有一道程序,CPU有大量时间处于空闲等待I/O完成,资源利用率依然很低。

批处理阶段(多道批处理系统):

操作系统正式诞生,并引入了中断技术,由操作系统负责管理这些程序的运行。各程序并发执行。

优点:多道程序并发执行,共享计算机资源,资源利用率大大提升,CPU和其他资源保持“忙碌”状态,系统吞吐量增大。

缺点:用户响应时间长,没有人机交互功能

分时操作系统:

计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。

优点:用户请求可以被即时响应,解决人机交互问题。运行多个用户使用同一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。

缺点:不能优先处理一些紧急任务。OS对每个用户都是公平的。

实时操作系统:

优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。

分类:硬实时系统(例导弹控制系统,自动驾驶系统)软实时系统(12306)

特点:及时性、可靠性。

其他操作系统:

网络操作系统(Windows NT)、分布式操作系统(分布性和并行性)、个人计算机操作系统(Window 10,MacOS),注意区分前两者的差异。

5.操作系统的运行机制和体系结构

指令:分为特权指令和非特权指令。

处理器状态(PSW):分为用户态(目态),核心态(管态)。用户态只能执行非特权指令,核心态则是两种指令都可执行。

用户态—>核心态是通过中断实现的,并且中断是唯一的途径。核心态—>用户态是将PSW的标志位设置为“用户态”实现的。

程序:内核程序(核心态)和应用程序(用户态)。

指令,处理器状态以及程序的区分是密切相关的。

操作系统内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。

体系结构:大内核和微内核两种类型。大内核把主要模块作为系统内核,运行在核心态,微内核则将最基本的功能保持在内核。

微内核大内核
优点结构清晰,方便维护高性能
缺点需要频繁的在用户态和核心态之间切换,性能低内核代码庞大,结构混乱,难以维护

6.中断和异常

中断机制的诞生:

发生中断就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(进程切换、分配I/O设备等)需要特权指令,以此CPU需要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,从而使操作系统获得计算机的控制权。

中断的分类:

内中断(也称异常、例外、陷入),外中断(中断—狭义的中断)。区分内外中断是依据信号来源是来自CPU的外部还是内部而判断的。

内中断外中断
具体实例自愿中断—指令中断外设请求、人工干预
强迫中断—硬件故障、软件中断

外中断的处理过程:

保护被中断进程的CPU环境,处理完成后恢复原有的CPU环境并推出中断。

7.系统调用

程序接口:由一组系统调用组成。应用程序通过系统调用请求操作系统的服务,系统中的各种共享资源都由操作系统统一管理。所以用户程序中,凡是与资源相关的操作,都必须通过系统调用向操作系统提供服务请求,由操作系统完成。系统调用的相关处理需要在核心态进行。

系统调用和库函数的区别:

系统调用是为了方便使用操作系统的接口,而库函数则是为了人们编程的方便。

系统调用的过程:

传递系统调用参数—>执行陷入指令(用户态)—>执行系统调用和相应服务程序(核心态)—>返回用户程序

Tips:

1、陷入指令在用户态执行,执行陷入指令引发内中断,从而CPU进入核心态。

2、发出系统调用请求是在用户态,而对系统调用的处理在核心态下进行。

3、陷入指令是唯一一个只能在用户态下执行而不能在核心态下执行的指令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一、操作系统的基本概念 的相关文章

随机推荐

  • 【math】 向量运算:叉乘

    文章目录 1 定义2 几何意义3 拓展应用 1 定义 c 61 a b 向量的叉乘 xff0c 即求同时垂直两个向量的向量 xff0c 即c垂直于a xff0c 且c垂直于b 假设向量a 61 a x a y a z b 61 b x b
  • 基于Mahout的电影推荐网站的设计与实现(JAVA语言实现)

    1 概要 本系统是一个以Mysql为数据库 xff0c 利用Java servlet开发的基于B S结构的电影推荐网站 服务器是Apache Tomcat xff0c 推荐库是Apache Mahout xff0c 在Eclipse环境下进
  • Java与设备(PLC)通信

    通信名词 上位机 指可以直接发出操控命令的计算机 xff0c 一般是PC host computer master computer upper computer 控制者和提供服务者是上位机 xff1b 工控机 工作站 触摸屏可作为上位机
  • DAMA学习笔记

    第1章 数据管理 1 1 引言 1 数据管理 xff1a 为了实现数据价值 xff0c 制定计划 制度并执行 监督 2 数据管理专业人员 xff1a 技术人员 xff08 数据库管理员 网络管理员 程序员 xff09 和业务人员 xff08
  • 2023 学习日志

    2023 01 03 mybatis源码学习 学习视频 xff1a https www bilibili com video BV1Tp4y1X7FM p 61 1 amp vd source 61 cc82a52a9b9b8b31eca3
  • oracle create view语法

    视图实际上是一个或多个表上的预定义查询 xff0c 这些表称为基表 视图并不存储数据 xff0c 只是在查询视图时才访问基表 视图的优点 xff1a 限制用户只能通过视图检索数据 xff0c 对用户屏蔽基表 可以将复杂的查询编写为视图 xf
  • EL表达式两个foreach嵌套循环

    集合List中加List泛型的泛型 List lt RiskEvaSuitQuestion gt riskEvaSuitQuestionList 61 riskEvaSuitQuestionService getQueList 100003
  • JQuery通过radio,select改变隐藏显示div

    1 xff09 select下拉框控制div的隐藏与显示 lt script gt function checkYear var selectValue 61 34 select name 61 39 periodType 39 34 va
  • 开科唯识笔试

    对于这次的笔试 xff0c 我只想说BiShi 几道编程题加一道SQL题 1 找出所有三位数中的水仙花数 public void getNarcissusNums int g 61 0 s 61 0 b 61 0 sum 61 0 for
  • JDBC批量插入

    最近项目中有用到JDBC技术 xff0c 存在大量数据要进行插入 xff0c 通过研究采用批量插入速度快的不是一点点 下面简单比较了一下普通插入与批量插入5W条数据的时间效率 常规插入 xff1a 耗时12952ms public stat
  • exe应用程序无法启动,因为应用程序的并行配置不正确

    问题 xff1a exe应用程序无法启动 xff0c 因为应用程序的并行配置不正确 有关详细信息 xff0c 请参阅应用程序事件日志 xff0c 或使用命令行 sxstrace exe 工具 原因查找 xff1a 1 xff09 开始 所有
  • TortoiseSVN is locked in another working copy

    TortoiseSVN提交报错 TortoiseSVN is locked in another working copy 原因 xff1a 可能是因为打开了多个commit会话 xff0c 然后又去修改了提交文件的内容 xff0c 导致文
  • Java对接企业微信

    最近需要对接企业微信 xff0c 例如将风险测评结果推送给企业微信中对应的用户 xff0c 然后用户对结果进行查看与确认操作 xff0c 所以这里就涉及到两方面 xff1a 1 xff09 将外部系统内容推送到企业微信 xff1b 2 xf
  • 微众银行面试

    机缘巧合 xff0c 其实并没有换工作的想法 xff0c 却收到了微众的面试邀请 xff0c 就想着去看看当是增长见识吧 xff0c 因为已经好久没准备面试的事情了 xff0c 而且微众毕竟作为腾讯系的看起来好像也不错 说实话那边离地铁站是
  • sequelize的where条件接受动态参数传入

    用法1 问题场景 传入参数 xff1a 数组array 数组元素不定 目标 要实现逻辑 xff1a 遍历数组 xff0c 根据inverted的值对同一个表字段增加一个like查询 要生成的sql语句 xff08 where条件部分 xff
  • 针对github中raw.githubusercontent.com无法加载数据的解决办法

    针对github中raw githubusercontent com无法加载数据的解决办法 1 复制域名raw githubsercontent com到ip138 xff08 https site ip138 com xff09 查询域名
  • oracle alter table详解

    建测试表 create table dept deptno number 3 primary key dname varchar2 10 loc varchar2 13 create table employee info empno nu
  • MATLAB算法实战应用案例精讲-【数模应用】元胞自动机生命游戏(附Java、Python、C语言、C++和MATLAB代码实现)

    目录 前言 知识储备 元胞自动机的构成 元胞空间 元胞状态 邻域
  • 【Centos安装】华为鲲鹏服务器安装Centos系统

    跟我一起安装CentOS系统 1 对多块硬盘进行RAID2 准备系统安装盘3 进入安装界面前的过程4 带UI的可视化安装页面5 将其他可用的磁盘进行挂载并创建分区 1 对多块硬盘进行RAID 通过将多块硬盘建立为磁盘阵列 Redundant
  • 一、操作系统的基本概念

    一 操作系统的概念 1 定义 操作系统 xff08 OS xff09 是控制和管理计算机系统的硬件和软件资源 xff0c 并合理的组织调度计算机工作和资源的分配 xff0c 以提供给用户和其他软件方便的接口和环境 xff0c 是计算机系统最