[操作系统]1.计算机系统概述

写在前面:这篇是为了复习基础知识准备的,而不是根据学校的教材走的,所以叙述有些出入的地方请见谅,该系列旨在快速梳理操作系统的基础知识和一些常见的问题点,知识框架来自于王道操作系统,后续有机会的话会继续补充

1.操作系统的基本概念

一个计算机系统可以自上而下分成四个部分:用户层,应用程序,操作系统,硬件

一方面操作系统管理各种硬件,为程序提供基础,充当硬件和用户的中介.另一方面,操作系统协调和弘治应用程序对于硬件的分配与使用

综上所述,操作系统是指控制整个计算机系统的硬件和软件资源,合理组织调度计算机的工作和资源的分配,进而为其他软件和用户提供接口和环境的程序集合,是计算机系统中最基本的系统软件

2.操作系统的特征

操作系统也是一种软件,但是和其他软件有很大不同,主要体现在以下四个特征上

1.并发:并发指的是多个事件在同一时间段内发生,区别于并行,操作系统拥有处理和调度多个程序同时执行的能力

2.共享:操作系统中的资源可以被多个并发进程共享

3.虚拟:通过虚拟,可以把一个物理上的实体变成逻辑上的对应物,比如cpu只有一个,虚拟整个概念就算使用多道程序处理系统,让用户觉得自己在独享机器,这就叫做虚拟处理器

4.异步:多道程序允许多个进程并行,但是资源有限,因此可以允许一些进程以不可知的速度推进(比如某个进程因为缺少资源就暂时搁置)

这其中并发和共享是操作系统最重要的两个特点,这俩也是相互依存的,如果不能不发,则资源共享毫无意义.如果不能共享,并发也会出很多问题

3.操作系统的目标和功能

1.操作系统作为计算机资源的管理者

操作系统作为系统资源的管理者,主要提供的功能有

1.处理机管理:也就是对于cpu的管理,就算是俗称的cpu调度,关于进程的控制和管理

2.存储器管理:内存分配回收,地址映射,内存保护,内存扩充等功能

3.文件管理:文件存储空间的管理,目录管理,以及文件的读写保护

4.设备管理:主要完成各种io请求,方便用户使用各种设备

2.操作系统为用户提供的

1.命令接口:用户可以通过命令接口,执行某些任务(就类似平时用到的一些指令,ls-a之类的)

2.程序接口:编程人员可以实用程序接口实现些操作系统服务(比如具体的系统调用,比如io,扫描器这些函数)

GUI本质上是对程序接口的进一步调用,不属于操作系统,但是GUI所调用的系统调用指令是操作系统的一部分

3.对于机器

一个没有操作系统的机器被称为裸机,只有物质基础,大概就是猪和猪肉的区别

操作系统提供了一个扩充功能,让机器被软件覆盖

4.操作系统的发展(处理系统的变化)

操作系统的发展其实有很多分类,这里只展示其中的一条线(至于单道,多道这些概念,请根据具体的性质辨别)

1.手工操作阶段(了解即可,甚至不是操作系统)

手工操作阶段就是传说中的打纸带,整个阶段用户独占机器,想要开启什么计算任务,都要用户手动实现,你已经不能奢求CPU的使用效率了,这玩意是不是CPU都难说........

2.单道批处理系统(批处理系统开始出现,真正意义上的os)

系统成批的,按顺序的处理作业,保证内存中一直有一个作业在进行处理.可以理解为把任务先排好队列放入外存中,然后按顺序不断调用

具有自动行,顺序性,单道性的特点,一次只能执行一个,并且执行完上一个才能执行下一个

3.多道批处理系统

在弹道批处理系统的基础上,引入多道程序技术,使得当一个作业因为某些原因暂停运行的时候,cpu立刻转向执行另一个资源.让计算机各个部分都尽可能地忙起来

简单来说,比如任务A的cpu部分暂停了,那么cpu马上先去执行B.或者说A暂时不用打印机,那么B如果要用就赶紧占有整个资源

多道批处理系统在单道的基础上,增加了多道,宏观上并发,微观上并行的三个特点

4.分时操作系统

在多道批处理中,我们切换任务的判断准则就算"整个任务暂时阻塞,把某个资源先让出来",

而分时技术中,会把处理器的运行时间划分成很小的时间片,切换任务的标准就是分配的时间片用完,或者在时间片内结束任务,其实就算时间片轮转算法LU

这种操作系统的特点是增加了用户的共享性,也就是在分时操作系统开始,允许操作系统与用户进行人机交换,在批处理系统中式不允许的(因为不能共享)

5.实时操作系统

上面的几种操作系统我们可以叫做"非抢夺式的操作系统",是因为这些操作系统中的任务,是按照某个规律在执行或者切换的.

在实时操作系统中,为了能在某个时间内完成某个紧急任务而不需要时间片排队,允许某些任务抢占资源进行执行

6.网络操作系统和分布式计算机系统

网络操作系统的特点是同网络进行计算机之间的资源共享和通信,完成不同的任务

分布式系统的特点是系统中两台机器通过通信交换信息,和网络系统不同,分布式是多个系统同时完成一个任务

7.补充一道例题,可以理解单道和多道系统的区别

[王道考研的一个课后题,2022版12页

5.操作系统的运行机制

(1)两种不同的程序

在计算机中有两种不同的程序

1.操作系统内核程序(内核程序)                     2.用户自编程序(应用程序)

内核程序可以执行一些特权指令,特权指令是不允许用户直接调用的(比如IO这种比较接近底层的内容)

CPU通过目前的状态位来判断能否执行特权指令

执行内核程序的时候,cpu的是内核态的,应用程序则是运行在用户态

(2)中断和异常的概念

中断表示外中断,是来自cpu执行指令以外的事件发生,比如IO请求

异常内中断,通常是cpu执行内部的为题,比如地址越界,溢出,跳转

另外注意:cpu内核态和用户态的切换转化就是依靠中断实现的

(3)系统调用

系统调用是操作系统为用户提供的一些功能接口,比如io接口,文件管理等等,这些东西都是用户提出系统调用,然后操作系统代为执行

 系统调用在内核的部分的操作,靠的就是特权指令进行执行

6.操作系统的体系结构

操作系统的体系结构分为大内核和微内核两种,这部分了解即可

大内核是指主要的功能模块都放在一个紧密联合的整体,全都在黑河太,从而提高高性能的服务,但是缺点在于难以进行对功能服务的增删改查

微内核指的是除了一些基本功能比如进程管理以外,剩下的服务全部放到用户态中,这样方便我们对于服务的添加,但是劣势在于每次信息交换都要进行用户态和内核态的转化,性能不行

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/351950.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx踩坑记录(二) nginx: [warn] invalid value “TLSv1.3“ in /etc/nginx/nginx.conf:20

问题详情 (通过指定配置文件的方式)启动nginx,提示告警,nginx启动失败。 rootvultr:~# nginx -c /etc/nginx/conf/nginx.conf nginx: [warn] invalid value "TLSv1.3" in /etc/nginx/conf/conf.d/v2ray.conf:20问题原…

如何快速访问iOS设置:iPad,iPhone,iPod

原文:http://holgr.com/blog/2011/11/no-jailbreak-necessary-how-to-quickly-access-ios-settings-on-your-ipad-iphone-or-ipod/#more-2924 在苹果发布iOS 5之前,快速访问iOS设置程序的唯一方法是越狱后使用SBSettings。在iOS 5以后,苹果公…

ios12越狱自签需要联网_从越狱的iOS切换到Android? 这是你需要知道的

ios12越狱自签需要联网 There are ample comparisons of iOS and Android, but few take into account jailbreak apps and power-users. Jailbroken iOS apps make up for a lot of shortcomings, but if you’re still interested in Android, here’s what you need to know…

pythonista3没有url scheme_URL Scheme是如何实现app之间的跳转

项目演示 URL Scheme是什么 由于苹果的app都是在沙盒中,相互是不能访问数据的。但是苹果还是给出了一个可以在app之间跳转的方法:URL Scheme。简单的说,URL Scheme就是一个可以让app相互之间可以跳转的协议。每个app的URL Scheme都是不一样的…

IPAD2 5.1.1越狱后的屏幕不能自动旋转~~~

己顶,出现这问题的原因是因为越狱安装了插件的原因。问题解决了,大家没有遇到类似的问题吗?问题出在大家都装了一个SBSettings的插件,解决办法就是在这个插件的ISO 5 Notification中打开Disable Toggles 和 Separate List且在Set …

体验下Xcode5与ios7

IOS7的最新更新。 1、自主选择默认地图应用苹果在iOS 6中移除了谷歌地图,使用了自家研发的苹果地图。不得不说,这款自带的地图应用可以说烂到了一定的程度,自发布之后便问题不断。正因如此,苹果应该允许用户在iPhone、iPod Touch…

JVM暂时私有

Jvm: 类加载器分类 引导类加载器:BootStrapClassLoader(出于安全考虑,Bootstrap启动类加载器只加载包名为java、javax、sun等开头的类) 自定义类加载器:Extension ClassLoader AppClassLoader (Tomcat也自定…

android 隐私伪装原理,加锁、隐藏和伪装!三招严防私密App被偷看

随着手机等智能设备的普及,人们的物质生活得到极大的丰富,但随之而来的隐私泄露问题却使得每一个人都几乎变得“透明”。同事、朋友有意无意的把玩起你的手机,随意翻看你的相册、甚至点开一些私密应用如微信、陌陌等,隐私无处躲藏…

蓝桥杯2022年第十三届决赛真题-出差

题目描述 A 国有 N 个城市,编号为 1 . . . N。小明是编号为 1 的城市中一家公司的员工,今天突然接到了上级通知需要去编号为 N 的城市出差。 由于疫情原因,很多直达的交通方式暂时关闭,小明无法乘坐飞机直接从城市 1 到达城市 N&a…

2. 股票的操作知识

》》点赞,收藏关注,理财&技术不迷路《《 目录: 2.1 股票的交易 2.1.1 股票交易模式——在和谁交易? 这个问题看起来简单,但很多初学者其实是没搞明白的,所以花点时间解释下(真是苦口婆心…

交易系统开发(一)——交易系统简介

一、交易过程简介 A股市场,投资者必须通过经纪公司交易柜台才能连接交易所,即交易订单从客户策略服务器发至经纪公司交易柜台,交易柜台内部处理后发往交易所,交易所确认报单后发送回报给交易柜台,再从柜台发送至客户策…

QuantFabric量化交易系统架构

一、交易所架构 1、证券交易架构 证券交易包括交易所、买方、卖方,证券交易解决方案架构如下: 卖方是把各种资产包装成产品并提供给市场的实体,如各大证券公司(中信证券、中信建投、海通证券、国泰君安证券等)、期货…

Easytrader 超简单的股市自动交易神器

往期推荐 量化投资实战教程(1)—基于backtrader的简单买入卖出策略 量化投资原来这么简单(2)—MACD策略(26.9%) 量化投资原来这么简单(3) —A股回测MACD策略 Python 量化投资原来这么简单(4) —KDJ 策略 Python 量化投资原来这么简单(5) — A股回测KDJ策略 Python 量化投资原来…

【easyTrader源码分析1】源码结构梳理

开篇 简单说一下为什么想写这个系列: 我个人对自动化交易比较感兴趣,他山之石,可以攻玉,搞清楚easyTrader,就搞清楚了市面上大部分自动交易方法。实践是检验真理的唯一标准,一个无法实盘的量化交易系统&a…

股票入门知识

目录 01-申请账户 02-行情软件 03-同花顺界面 04-股票规则 05-买股票步骤 小伙伴们大家好,我是Gao,很高兴今天以这样的形式与大家见面。在过去的2020,我经常和朋友聊天,打游戏,从他们那里也得到了很多信息。在一次…

易观千帆 | 2023年3月证券APP月活跃用户规模盘点

易观:2023年3月证券服务应用活跃人数14131.58万人,相较上月,环比增长0.61%,同比增长0.60%;2023年3月自营类证券服务应用Top10 活跃人数6221.44万人,环比增长0.08%;2023年3月第三方证券服务应用T…

上海亚商投顾:沪指震荡调整 酒店等消费股逆势活跃

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 沪指今日震荡盘整,创业板指V型反弹,上证50跌超1%,保险、银行、券商等金融股下挫…

上海亚商投顾:沪指尾盘快速反弹微幅收跌 6G概念大涨

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日震荡调整,临近尾盘集体回升,石油、保险等权重蓝筹走低,上证50盘中…

上海亚商投顾:沪指震荡反弹涨1.2% 中国移动创历史新高

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 大小指数今日走势分化,沪指午后涨超1%,长阳反包上周五阴线,创业板指盘中则跌逾…

微信数据差点丢失,同花顺崩了,中心化弊端频现,IPFS解决数据存储难题

此前看过马化腾的一次演讲,在《数字经济的趋势与探索》为主的演讲中,马化腾说了一件令人后怕的事情,他说在2015年的时候,我们的微信数据差点就没了。 事情源于2015年的天津港爆炸事件,那时腾讯在天津建设有当时亚洲最…