操作系统——概述

这篇具有很好参考价值的文章主要介绍了操作系统——概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0.关注博主有更多知识

操作系统入门知识合集

目录

1.1初识操作系统

思考题:

1.2操作系统的功能和定义

思考题:

1.3操作系统发展史

思考题:

1.4分时技术

 思考题:

1.5典型操作系统类型

1.1初识操作系统

常见桌面级别的四大操作系统:Windows、Mac OS、Linux、UNIX。

微软公司最早的操作系统是Windows1.0,首次在PC上尝试图形界面,于1985年发行。Windows1.0是基于MS-DOS的操作系统,开机时先加载MS-DOS。

操作系统——概述

再后来便是家喻户晓的Windows XP,发行于2001年8月25日,其分为家庭版(Home)和专业版(Professional)。

操作系统——概述

Mac操作系统,是苹果公司基于Unix内核的图形化操作系统,是苹果产品专属的操作系统。

Linux之RedHat,是RedHat以GNU/Linux为核心发行的操作系统。

没有安装操作系统的计算机能运行程序吗?能!能运行COMS设置程序!但是普通用户不能正常使用!

操作系统——概述

所以由此引出:计算机必须安装操作系统,才能让用户正常使用计算机

操作系统的基本功能如下:

  1.提供操作界面/可视化操作界面。

  2.控制程序运行。在Windows下可以双击快捷方式、或者可执行文件本身打开程序;在命令行模式下输入程序的名字即可打开程序...这些都是操作系统需要管理的任务。

  3.控制多个程序并发运行。一个计算机当中并不只有一个程序在运行,绝对会有多个程序在"一起"执行,通俗的讲,CPU只有一个,如何让用户感觉这些程序像是在同时一起运行是操作系统的任务。

  4.提供系统设置/配置。因为没有操作系统用户便不能正常使用计算机,但是有了操作系统之后我们想修改硬件、系统的某些功能或者配置信息,这时操作系统必须提供这样的功能。

  5.提供工具/管理软件。因为用户与计算机的交互是通过操作系统完成的,所以操作系统有必要提供一些工具或者管理软件。

  6.存取信息。我们通常把我们的资料、文档放在磁盘当中,但是用户不能直接与计算机交互,所以操作系统必须提供信息存取的手段。

  7.存取保护。现代操作系统大多都是多用户的,有时候当前用户在磁盘存放的文件并不想让其他用户修改、读取等等,操作系统必须提供存取保护、访问权限之类的功能。

总而言之,操作系统的基本功能是提供操作界面、控制程序运行、管理系统资源、配置系统参数、监控系统状态、提供工具软件集合的一款软件!是的,操作系统是一款软件

思考题:

1.我们自己编译的程序运行时需要操作系统提供哪些支持?

代码编译之后生成程序,这个程序如何存放必须由操作系统来解决,操作系统必须提供管理文件的手段。程序如何启动也必须由操作系统来支持,是通过命令行打开程序?还是通过双击鼠标呢?程序启动后,它一定会占用内存资源,那么内存资源该如何分配也是操作系统应该解决的问题。当代码中有输出语句时,操作系统必须提供一种手段与显示器交互。如果代码当中存在死循环的语句,操作系统也必须保证该程序不会独占CPU资源而让其他程序无法运行。最后便是程序退出时,操作系统必须进行"善后"工作。

2.没有安装操作系统的计算机的启动过程和结果是怎样的?

通电之后,计算机会启动自检程序,对部分硬件进行检测,如果有问题便提示用户;对外部设备进行初始化和检测;加载引导程序,引导DOS操作系统启动(如果有)。

3.常见的虚拟机软件(例如VMware)能不能理解为操作系统?

答案是不能。虚拟机软件运行在操作系统之上,即使它看起来像是一个独立的计算机能够运行其他的操作系统,但其本质还是一个用户程序。它并没有上面讲过的操作系统的基本功能。

1.2操作系统的功能和定义

操作系统功能之一:进程管理

  1.进程控制:操作系统能够控制进程的创建、暂停、唤醒、撤销等。

  2.进程调度:操作系统持有调度策略,为每个进程分配优先级。

  3.进程通信:操作系统有必要让进程之间产生联系。

操作系统功能之二:内存管理

  1.内存分配:操作系统有必要合理的为每个任务分配内存。

  2.内存共享:必要时,为了让某些任务产生通信,操作系统必须提供内存共享的机制。

  3.内存保护:有时候我们希望任务与任务之间互不干扰,操作系统就必须有对应的手段保护每个任务占有的内存。

  4.虚拟内存:这是现代操作系统通用的管理内存的手段,它能够提高各个任务的执行效率。

操作系统功能之三:设备管理

  1.设备的分配和调度:与管理内存,当用户需要使用外部设备时,操作系统必须合理的分配和调度这些设备。

  2.设备的无关性:试想一个问题,更换磁盘、硬盘、内存,似乎并不需要用户完成什么工作,因为操作系统具有为用户屏蔽底层硬件的功能。

  3.设备的传输控制:操作系统不单单只为用户服务,设备与设备之间有数据流动时,操作系统也必须提供控制、管理手段。

  4.设备驱动:通常是操作系统暴露给用户的接口,使得用户能够轻松设置设备参数。

操作系统功能之四:文件管理

  1.存储空间管理:操作系统必须知道存储空间有多少、还剩多少、某个文件能不能存储等等。

  2.文件的操作:文件通常存放在磁盘上,操作系统必须提供一些方式让用户能够轻松地操作这些文件(例如打开、删除等等)。

  3.目录的操作:在Linux中,也把目录看成文件。

  4.文件的目录的存取权限管理:上面说过,操作系统有可能是多用户的,某些用户并不想让其他用户对自己的文件进行读、写操作,所以操作系统必须提供一些权限、保护文件的机制。

由此可见,操作系统是一个大型系统程序,它为用户提供接口,方便用户控制、使用计算机;它负责为应用程序分配和调度软硬件资源,并控制与协调应用程序的并发活动,帮助用户存取和保护信息。

那么操作系统位于计算机的哪个位置?或者说,操作系统在计算机体系当中,处于什么地位?

操作系统——概述

操作系统位于用户层和硬件层之间,起到承上启下的作用。

思考题:

1.你有没有遇到过因为内存太小而导致程序运行失败的情况?

现代操作系统理论上不会发生这种情况。只可能发生因为内存过小而导致操作系统、程序运行的缓慢甚至出现死机的情况,但不会出现程序、操作系统崩溃。

1.能否用C语言写一个耗尽内存的程序来证明上面的结论?

 int main()
 {
     int cnt = 0;
     while (true)
     {
         char* p = (char*)malloc(100 * 1024 * 1024);
         if (p == NULL)
         {
            return 1;
         }
         printf("第%d次申请内存 100M 内存成功\n", ++cnt);
     }
     return 0;
}

操作系统——概述

这张图可是费了九牛二虎之力才截下来的图,很幸运,我的电脑和上面答案描述的一样,程序运行只会变慢,并不会崩溃(截图程序加载了两分钟)。

1.3操作系统发展史

用户需求的提升和硬件技术的进步是操作系统发展的两大直接动力。

计算机硬件发展的四个典型阶段:

  1.电子管时代[1946 -> 1955]

  2.晶体管时代[1955 -> 1965]

  3.集成电路时代[1965 -> 1980]

  4.大规模集成电路时代[1980 -> 至今]

根据这些时间线,硬件的速度、容量、稳定性、可靠性都得到逐步提高。

操作系统发展的四个典型阶段:

  1.手工操作(无操作系统) -> 50年代早期

  2.单道批处理系统 -> 50年代

  3.多道批处理系统 -> 60年代初

  4.分时系统 -> 60年代中

第一台数字电子计算机ENIAC就是典型的手工操作时代,由人工代替操作系统。

操作系统——概述

手工操作(没有操作系统)时代的特点:

  1.结构特点:硬件方面仅由电子管、接线面板(按钮/开关)构成;程序方面,直接暴力使用二进制编码作为程序,直接在纸带或者卡片上打孔,由人工投递给计算机。

  2.使用特点:程序的准备、启动、结束工作,全部由人工负责,繁琐且耗时。

  3.缺点:效率低下,CPU有效运行时间极低,CPU的处理速度相较于人工是相当快的,所以一个小时当中有59分中在被人工处理,只有1分钟真正占用CPU资源。用户独占,当时的计算机就类似于当今只有一台电脑的网吧,前面的用户未处理完任务,后面的用户便不能进去"上网"。缺少交互,用户交代计算机的工作人员完成某些任务,然后一直等,直到结果出来。

单道批处理系统时代的特点:

  1.工作特点:计算机管理员事先将多个作业输入到磁盘当中形成作业队列,然后由操作系统一次自动处理队列中的每个作业,操作系统负责作业队列的每个作业的装入->运行->撤出->装入...循环。程序的装入和撤出由操作系统负责完成,在一定程度上实现了自动化,效率明显提高。程序运行完毕之后,通知用户取运行结果。单道批处理系统的出现实现了自动批量化处理作业,但仍然是单道、依次、串行处理程序。

  2.实例:1955年也就是晶体管时代的开始,IBM推出第一台晶体计算机7094,由人工将程序放入读卡机,然后操作系统自动加载到主机,然后运行结果输出到外设。

操作系统——概述

   3.单道批处理系统CPU的利用情况:因为是串行处理程序,所以外设与CPU交替空闲和忙碌,不管是CPU还是外设,它们的有效利用率都很低。

操作系统——概述

多道批处理系统时代的特点:

  1.定义:在内存中存放多道程序(注意与单道批处理系统的区别,单道批处理系统的队列放在磁盘上),当某道程序因为某种原因不能继续运行而放弃CPU时,操作系统便调度零一程序投入运行,这样便尽可能地使得CPU忙碌,提高系统效率。

操作系统——概述

   2.特点:内存同时存放多道程序;宏观上并行;微观上串行。

  3.缺点:作业处理时间长,原因在于每个作业的IO完成后,可能无法及时回到CPU运行,一定程度来讲作业的处理时间确实变长了。交互能力差,在作业运行期间,用户是不能与计算机发生交互的。运行过程不确定,作业的IO完成之后能不能立即回到CPU需要看其他作业是否不再占用CPU。

思考题:

1.在多道批处理系统中尝试不断增加程序的数量,系统的效率会不会持续增加?结果如何?

首先,效率不一定会增加。当CPU处于空闲状态或者离满负荷还有一定差距时,增加程序的数量确实会增加系统的效率;但是当CPU达到满荷状态时,再尝试增加程序数量,就会降低系统的效率。造成这两种差别的原因在于:多道批处理系统在微观上还是串行的,当程序的数量合理时,能够让CPU一致处于忙碌状态,但是当程序多起来的时候,许多程序依然还是要等待CPU空闲,并且每个程序的处理周期会增加,所以效率变得更低。

1.4分时技术

60年代的硬件有两个重大进展:

  1.中断技术:CPU支持收到外部的中断信号后,停止当前工作,转去处理发送该中断信号的外部事件,处理完毕后回到原来工作的中断处,继续处理原来的工作。

  2.通道技术:实现了专门处理外设与内存之间的数据传输的处理机。也就是说,在某些场景下,某些工作不需要CPU去处理。

同时,用户需求的提高以及多终端计算机的出现也刺激了操作系统的发展:

  1.事务性任务的需求突然涌现:在此之前,多道批处理系统往往不能与用户发生交互,只能待CPU处理完成后取其结果。但是用户在这时希望能与正在运行的作业发生交互,这就要求操作系统能够支持发生交互,并且响应速度不能太慢。

  2.许多用户要求能够支持多任务、多用户的并发执行。

  3.多终端计算的出现:多终端计算机是一个高性能主机+多个终端组成的,其主机负责运算,它具有CPU和内存;而多个终端仅有输入和输出功能。主机采用分时技术轮流为每个终端服务,让每个终端都感觉到自己是"独占"主机。

操作系统——概述

 分时技术:

  1.概念:主机以很短的时间片为单位,把CPU轮流分配给每个终端使用,直到全部作业运行完毕。由于时间片很短(假设为50ms),在终端数量不多的情况下(假设为5个),每个终端都能很快重新获得CPU,它只需要等待一个周期,使得每个终端都能得到及时响应。等待周期 = 时间片 * 终端数量,也就是所,终端1运行50ms之后暂停运行,等待450ms之后又可以继续运行。

  2.特点:多路调制性:能够让多用户联机使用同一台计算机;独占性:让每个用户都感觉自己"独占"计算机;交互性:每个作业不需要等待太长的时间即可进行下一次运行,及时响应用户的请求。

正是在这样的背景下,由美国国防部组织的一个大型分时系统的实践项目Multics,1962年由MIT、BELL、和G.E参与研发的一种共用计算服务系统,在研发过程中,诞生出了世界上第一个实用化的分时操作系统、第一个真正体现操作系统领域各种先进概念和技术的操作系统——UNIX

UNIX的出现带来了革新和创造:实现了操作系统的可移植性、实现了硬件无关性、引进了"特殊文件"的概念,即把外设看作文件,实现对外设的统一管理。这些标准对后来的操作系统意义重大。

UNIX的发展历史:

操作系统——概述

 思考题:

1.分时技术的时间片设置的大小,应该根据哪些因素来考虑?是尽量大好还是尽量小好?

时间片的设置需要根据系统的总体框架来考虑,例如用户的响应时间、系统一次支持的用户数目、CPU的指令周期、中断处理时间、程序运行现场的保护和恢复时间等。所以时间片的设置应该合理,不能太大也不能太小。如果时间片太小,操作系统就要花费大量的时间去切换作业;而时间片太长,就会导致等待周期变长,影响用户的交互体验。

1.5典型操作系统类型

操作系统的进一步发展都属于分时系统的衍化:

  1.微机操作系统:随着大规模集成电路的发展,进入个人计算机(PC机)时代,1973诞生出第一个用于PC机的操作系统CP/M,它具有良好的层次结构,使用BIOS把操作系统和硬件分隔,使得操作系统有更好的可移植性,并且易学易用。典型的PC机代表便是1976年苹果的Mac OS操作系统和Macintosh系列电脑,Mac OS是首个配有图形界面和鼠标操作的操作系统。

操作系统——概述

 随后在80年代出现了微软的MS DOS操作系统,它属于磁盘操作系统,支持单用户单任务,预装在IBM的PC机上。随后在1985年11月出现了微软Windows1.0操作系统,1992年4月发表Windows3.1,1993年5月发表Windows NT,随后逐渐出现我们常用的微软操作系统Windows 95、CE、98、2K、XP、Windows 7、Windows 10......

  2.实时操作系统:在某些场景下要求操作系统能够完成事实事务,例如军事、工业控制、智能仪器等,要求操作系统能够及时完成优先、紧急任务的处理,它强调作业完成的时限。实时操作系统又分为硬实时系统,对时间要求非常严格,例如火炮控制系统、航空航天领域、制导系统、工业控制、汽车电子系统......然后便是软实时系统,对时间要求并不是太严格,而是要求尽量快,例如网络视频直播、实时互动的网游、通讯......

  3.嵌入式操作系统:它可以约等于实时操作系统,但它的范围、定义要比是实时操作系统宽泛。嵌入式系统可以搭载嵌入式操作系统,但不是必要的。例如手机是一个典型的嵌入式系统,为了能与用户互动,就必须搭载嵌入式操作系统,典型的便是Andriod和IOS。当然,Linux也可以被应用于嵌入式系统,只不过与桌面不一样的是,它可以被裁剪,也就是说用于嵌入式系统的Linux可能要比桌面的Linux少一些模块。

  4.网络操作系统:它就是在普通操作系统之上增加了网络通信和网络服务,就比如我们现在使用的UNIX、Linux、Windows等等,网络操作系统具有透明存取、存取控制的功能。

适合学习的小型开源操作系统:

  Minix OS由荷兰大Vrije大学计算机教授Andrew S.Tanenbaum编写,其名下的《现代操作系统》便是围绕Minix OS编写。Minxi OS等于Mini UNIX,它开放源代码给教学和科研人员,因为其只有12000行左右的代码,非常易于学习和掌握,其采用了先进的微内核架构,并且还是类UNIX操作系统。其官方网站为:Minix3。

推荐学习的大型开源操作系统:

  Linux由芬兰的赫尔辛基大学生Linus Torvalds编写,在1994年3月正式发布Linux 1.0。迄今为止,它的代码非常庞大,有大约1100万行。其源码下载网址为:The Linux Kernel Archives。注意,开源的代码是免费的,但是发行版不是免费的。典型的便是用于大型服务器的RedHat,以及众所周知的Ubuntu。文章来源地址https://www.toymoban.com/news/detail-429027.html

到了这里,关于操作系统——概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 操作系统——概述

    操作系统入门知识合集 目录 1.1初识操作系统 思考题: 1.2操作系统的功能和定义 思考题: 1.3操作系统发展史 思考题: 1.4分时技术  思考题: 1.5典型操作系统类型 常见桌面级别的四大操作系统:Windows、Mac OS、Linux、UNIX。 微软公司最早的操作系统是Windows1.0,首次在PC上尝试

    2024年02月01日
    浏览(20)
  • 操作系统概述

    一、简单描述 1、系统资源的管理者; 2、最接近硬件的一层软件; 3、向上层提供方便容易使用的服务; 二、提供的功能 1、处理机管理; 2、储存器管理; 3、文件管理; 4、设备管理; 举例说明:打开QQ的时候,需要找到安装的位置(文件管理),双击打开qq的时候需要将

    2024年02月02日
    浏览(20)
  • 操作系统的概述(习题整理)

    1、什么是操作系统?操作系统有什么特性? 操作系统的定义:操作系统就是位于硬件层之上,所有其他系统软件层之下的一个系统软件,通过它管理系统中各种软件和硬件资源,使他们能被充分利用,方便用户使用计算机系统。 操作系统的特性:操作系统是一个程序,它具

    2024年02月09日
    浏览(25)
  • linuxOPS基础_操作系统概述

    第一台计算机是1946 年2 月14 日诞生日,第一台名称ENIAC。体积一间屋子的大小,重量高达28t。 第一代:1946 – 1958 = 12 年 (电子管) 第二代:1958 – 1964 = 6 年 (晶体管) 第三代:1964 – 1970 = 6 年 (集成电路) 第四代:1970 – 至今 (大规模集成电路) CPU、内存、风扇、硬盘

    2024年02月06日
    浏览(27)
  • Linux实训笔记~操作系统概述

    操作系统作为接口的示意图: 没有安装操作系统的计算机, 通常被称为裸机。 桌面操作系统 服务器操作系统 嵌入式操作系统 移动设备操作系统

    2024年02月15日
    浏览(25)
  • 第一章 计算机系统概述 四、操作系统的运行机制

    状态的切换: 内核态转用户态 ,是指操作系统让出cpu使用权给应用程序。(一条修改PSW的特权指令) 用户态转内核态 ,指操作系统 发出一个中断信号 ,将应用程序强行停止, 转换为内核程序 ,并 得到cpu的使用权 。(由中断引起,硬件自动完成) 注意: 一个共性是,但

    2024年02月09日
    浏览(50)
  • 【操作系统】24王道考研笔记——第一章 计算机系统概述

    1.1 定义 1.2 特征 并发 (并行:指两个或多个事件在同一时刻同时发生) 共享 (并发性指计算机系统中同时存在中多个运行着的程序,共享性指系统中的资源可供内存中多个并发执行的进程共同使用) 虚拟 异步 并发和共享互为存在条件。没有并发和共享,就谈不上虚拟和异

    2024年02月12日
    浏览(30)
  • [架构之路-178]-《软考-系统分析师》- 分区操作系统(Partition Operating System)概述

    目录: 本文概述: 1.1 什么是分区操作系统 1.2 分区操作系统出现背景 1. 前后台系统(Foreground/Background System) 2. 实时操作系统(RTOS) 随着 嵌入式系统 日趋 复杂化 以及对 安全性 要求的不断提高,采用 空间隔离 、时间预先分配的 分时分区 操作系统已经成为未来的发展方向。

    2024年02月01日
    浏览(46)
  • 一.初识Linux 1-3操作系统概述&Linux初识&虚拟机介绍

    目录 一.初识Linux 1.操作系统概述 计算机组成 硬件: 软件: 操作系统: 操作系统工作流程 操作系统作用 常见的操作系统 PC端: 移动端:(掌上操作系统) 一.初识Linux 2.Linux初识 linux系统的诞生 Linux内核 Linux发行版 一.初识Linux 3.虚拟机介绍 虚拟机 ​ 计算机:硬件和软件组

    2024年01月22日
    浏览(30)
  • 【小黑嵌入式系统第二课】嵌入式系统的概述(二)——外围设备、处理器、ARM、操作系统

    上一课: 【小黑嵌入式系统第一课】嵌入式系统的概述(一)——概念、特点、发展、应用 下一课: 【小黑嵌入式系统第三课】嵌入式系统硬件平台(一)——概述、总线、存储设备(RAMROMFLASH) 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包