操作系统的定义与基本概念_计算机系统的概念

操作系统的定义与基本概念_计算机系统的概念1、操作系统的概念及定义1.1操作系统的层次结构从上至下,用户——应用程序——操作系统——裸机(纯硬件)。操作系统OS(OperatingSystem)是指控制和管理整个计算机系统的硬件和软

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、操作系统的概念及定义

1.1 操作系统的层次结构

从上至下,用户——应用程序——操作系统——裸机(纯硬件)。

image-20210918212105787

操作系统OS(Operating System)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配(从当前层次结构中间往两边看),提供用户和其他软件方便的接口和环境(当前层次结构从下往上看),同时它是计算机系统中最基本的系统软件(层次结构从上往下看)。


1.2 操作系统的功能和目标

  1. 操作系统作为系统资源的管理者(包括软件、硬件、文件等),需要提供什么功能
  2. 操作系统作为用户和计算机硬件之间的接口,要为其上层的用户、应用程序提供简单易用的服务
  3. 操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能

image-20210918212624221

1.2.1、系统资源的管理者

image-20210918212815453

1.2.2、作为用户与计算机硬件之间的接口

image-20210918213535612

常考命令接口和程序接口,GUI了解即可

命令接口:

image-20210918214003518

  1. 联机命令接口(交互式命令接口):

    类比cmd窗口,输入一句指令,计算机处理一句指令

  2. 脱机命令接口(批处理命令接口):

    类比C盘内*.bat文件

程序接口(系统调用):

image-20210918214311279

易混概念:系统调用 = 系统调用命令 = 广义指令

1.2.3、作为最接近硬件的层次

image-20210918214825746


1.3 操作系统的四个特征

四大特征:并发、共享、虚拟、异步

image-20210918215022220

1.3.1 并发

并发和并行的区分

  • 并发
    • 之两个或多个事件在同一时间间隔内发生。这些事件在宏观上是同时发生的但微观上是交替发生的
  • 并行
    • 指两个或者多个事件在同一时刻同时发生

理解:

image-20210918215604809

操作系统的并发性指的是计算机系统中同时存在着多个运行的程序

事实上,操作系统就是”伴随多道程序技术“而出现的,因此,操作系统和程序并发是一起诞生的

虽然当今计算机一般是多核CPU,但并发性依然必不可少

1.3.2 共享

共享即资源共享,是指系统中资源可供内存众多个并发执行的进程共同使用。

分为互斥共享同步共享

image-20210919104801748

所谓“同时”,往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问(即分时共享)

例子:

image-20210919105016663

并发和共享地关系

两者互为存在条件

  • 如果失去了并发性,共享性就失去了意义
  • 如果失去共享性,并发性也无法实现

image-20210919105243477

1.3.3 虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体实际存在,而逻辑对应物使用户感受到的。

  • 公分复用技术

    image-20210919105604369

  • 时分复用技术(时间片)

    image-20210919105634017

并发性是虚拟性地前提

image-20210919105734232

1.3.4 异步

异步是指多到程序环境下,允许多个程序并发执行,但资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性


1.4 操作系统的发展和分类

image-20210919110502324

  • 手工操作阶段

    • 用户独占全机,人机速度矛盾导致资源利用率极低
  • 批处理阶段:脱机输入/输出技术 (用磁带完成) 监督程序负责控制作业的输入、输出

    • 单道批处理系统:

      image-20210919121300157

    • 多道批处理系统:

      image-20210919121513490

  • 分时操作阶段

    • image-20210919121742975
  • 实时操作系统

    • 硬实时系统:必须在绝对严格地规定时间内完成处理
    • 软实时系统:能接受偶尔违反是时间规定

    image-20210919122034486


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

image-20210919122159356

1.5.1 运行机制

image-20210919123340020

  1. 两种指令:

    • 指令的概念:指令就是CPU能识别的最基本的命令

      一条高级语言(如C)翻译过来可能会对应多条指令

    • 特权指令

    • 非特权指令

    image-20210919122736330

  2. 两种处理器状态

    CPU判断当前是否可以执行特权指令

    • 用户态(目态)

    • 核心态(管态)

      image-20210919123043823

  3. 两种程序

    • 内核程序

    • 应用程序

      image-20210919123233316

1.5.2 操作系统内核

内核是计算机上配置的底层软件,是操作系统最基本最核心的部分。实现操作系统内核功能的那些程序就是内核程序。

image-20210919123617852

image-20210919123718133

1.5.3 操作系统体系结构

image-20210919123807896

  • 大内核

    image-20210919123835916

  • 微内核

    image-20210919123857789


1.6 中断和异常

1.6.1 中断机制的诞生

早期计算机个程序只能串行执行,系统资源利用率低,为了解决该问题,人们发明了操作系统,引入了中断机制,实现了多道程序并发执行。

发生中断就意味着需要操作系统介入,开展管理工作

中断是CPU从用户态进入核心态的唯一途径

image-20210919124745390

1.6.2 中断的分类

image-20210919125018149

1.6.3 外中断的处理过程

image-20210919125337149


1.7 系统调用

image-20210920161337835

1.7.1 什么是系统调用、作用?

系统调用会使处理器从用户态进入核心态

操作系统,面向用户是命令接口,面向应用程序是程序接口(由一组系统调用组成)

概念:“系统调用”是操作系统提供给应用程序(程序员)使用的接口,可以理解为可供应用程序调用的一种特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。

系统调用的目的:

image-20210920162043679

系统调用按功能分类

image-20210920162204678

注意:系统调用相关处理涉及到对系统资源的管理、对进程的控制,这些功能需要执行一些特权指令才能完成,因此系统调用的相关处理需要在核心态下进行。

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

image-20210920162812639

1.7.3 系统调用背后的过程

过程;

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

image-20210920163559856

注意点:

  1. 陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,从而CPU进入核心态
  2. 发出系统调用请求是在用户态,而对系统调用的相应处理是在核心态下进行
  3. 陷入指令是唯一一个只能在用户态执行,而不能在核心态执行的指令
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167803.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • angularjs技术

    angularjs技术angularjs第一天五大事件1、绑定事件,ng-model;2、绑定对应的控制器,ng-controller;3、绑定对应的APP,ng-app;4、单击事件,ng-click;5、初始化事件,ng-init;引入angularjs,使用angularjs语法<scriptsrc="…/plugins/angularjs/angular.min.js"type=…

  • mysql优化器不能使用hash索引来加速_数据库主键索引和唯一索引的区别

    mysql优化器不能使用hash索引来加速_数据库主键索引和唯一索引的区别1.hash表只能匹配是否相等,不能实现范围查找select * from xx where id > 23; 这时就没办法索引了2.当需要按照索引进行order by时,hash值没办法支持排序select * from xx order by score desc;如果score为建立索引的字段,hash值没办法辅助排序。3.组合索引可以支持部分索引查询,如(a,b,c)的组合索引,查询中只用到了阿和b也可以查询的,如果使用hash表,组合索引会将几个字段合并hash,没办法支持部分索引

  • log4j使用方法_pipe使用教程

    log4j使用方法_pipe使用教程地址:http://www.codeceo.com/log4j-usage.html日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j可以免费下载到Log4j最新版本的软件包。一、入门实例1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个…

  • 实现不同网段mail服务器之间的邮件转发

    实现不同网段mail服务器之间的邮件转发

  • 原生js发送post请求_javascript发送post请求

    原生js发送post请求_javascript发送post请求环境:vs201916.5.1aspnetcore3.1.1fiddlerrestsharp106.10.1说明:要测试restsharp的功能,首先需要了解http传参和下载上传文件的原理,请参考:c#:从http请求报文看http协议中参数传递的几种方式c#使用Http上传下载文件一、首先准备webapi项目usingSystem;usingSystem.C……

  • linux服务器中如何解压分卷文件,Linux解压rar文件(unrar安装和使用,分卷解压)…

    linux服务器中如何解压分卷文件,Linux解压rar文件(unrar安装和使用,分卷解压)…windows平台很多压缩文档为rar文件,那么怎么做到Linux解压rar文件(unrar安装和使用)?简单,centos5安装unrar即可。unrar安装方法如下:wgethttp://dag.wieers.com/rpm/packages/unrar/unrar-3.6.8-1.el5.rf.i386.rpm;rpm-Uvhunrar-3.6.8-1.el5.rf.i386.rpm…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号