博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python全栈 day03 操作系统 -- 摘要
阅读量:5872 次
发布时间:2019-06-19

本文共 1697 字,大约阅读时间需要 5 分钟。

一、操作系统

    为了实现实现功能,提高效率,充分高效的管理并加以优化使用计算机硬件,方便用户使用,计算机就在其硬件的基础上安装了一层软件,及操作系统。操作系统的任务就是又好又快,方便快捷的管理所有设备。

    操作系统将繁琐的,所有用来操作硬件的调用程序操作起来,并加以优化使用硬件这种极其繁琐的工作,彻底的解放了使用者,提高了工作效率,使用者就能通过编写使用操作系统来实现间接调用硬件工作的软件,就不用再去考虑把所有硬件操作细节都兼顾到,高效快捷的实现功能。同时操作系统是由硬件保护的,不可由用户更改的,稳定性强的,大型软件。

二、操作系统的位置

    操作系统位于计算机硬件和应用软件之间,其实质上也是一个软件。操作系统由系统内核(运行于内核态,用以管理硬件资源)和系统调用(运行于用户态,为应用程序调用硬件所提供的系统调用接口)两部分组成。

 

三、操作系统的功能

    操作系统有两大功能,

    其一、简化并美化了调用硬件的功能,操作系统通过硬件驱动程序为应用程序调用硬件提供了相对应的系统调用接口,开发人员在开发应用程序的时候,就不用在考虑硬件细节问题,直接调用相对应的接口,在操作系统上运行,方便高效。

    其二、就是将无序的竞争操作请求管理的有序化分配。多应用多线程同时运行在一个操作系统上时,这些应用或是线程可能都同时需要是应某一种硬件资源,为解决应用之间竞争导致处理结果紊乱的问题,操作系统就会将这些混乱的操作有序化,多路复用,有序的完成命令。

四、操作系统发展史

1、第一代计算机(1940-1955):真空管和穿孔卡片

    第一代计算机,完全是为了想用机械代替人力而所设计,它没有操作系统的概念,所有的程序都需要用纯粹的机械语言来编写。同时处理程序和运算CPU是一个一个来执行的。

    使用这种计算机需要预约使用时间,在其使用过程中其他人就需要排队等候,虽然是资源独享,出现问题可以及时解决,但是背后有无数人在为其能正常使用这个计算机做着维护的工作。时间利用也是一个待商榷的问题,有人操作快,有人操作慢,再者有的需要测试一个程序而有的却需要测试多个程序。导致时间不均。

2、第二代计算机(1955-1965):晶体管和批处理系统

    为了减少用时,实现批处理而设计的第二代计算机,直接被所在机房,有了自己的批处理操作系统,同时操作人员和维护人员有了明确的分工,但是要实现功能还需要人机合作。

    这种计算机是将收集上来的数据攒成一大波输入数据,让计算机做顺序运算,批处理,然后再将结果攒成一大波数据输出。这种设计不仅导致程序员不能独享计算机的资源,还存在不能及时的处理bug的问题。影响了效率。

第三代计算机(1965-1980):集成电路芯片和多道程序设计

    在第二代计算机的基础上加入了多道技术的设计,省却了中间人的操作,将计算机处理数据和输出数据的功能连在一起。多道技术利用多路复用的方式解决多个程序在一个共享资源上的有序调度问题。资源是现在时间和空间上的多路复用。虽然也是批处理的模型,但是这种计算机提供了快速的交互模式,可以让使用者认为其用的是独享的资源。

    第三代计算机在采用了必须的硬件保护程序(程序之间的内存,硬盘隔离)之后,用户数据之间不会渗透泄漏,才广泛流行。

第四代计算机(1980-至今):个人计算机

    有硬件支持,有操作系统,有在操作系统上可以运行的应用程序组成的超级计算机。

五、多道技术

    多道技术是指利用时间复用和空间复用,处理多个用户间来自多个程序发起的多个共享资源的请求。

    时间复用:指的是多个程序在同一硬件运行时,操作系统分配第一个程序来使用,当处理完或是遇到阻塞时,跳转切换到另一程序,这样依次执行。应用在该硬件上使用多长时间是由操作系统来决定。

    空间复用:指的是多个应用程序使用同一个大资源时,系统都会为其中的每一个程序分配一个独立隔离的小资源,多个程序资源同时存在,调用时以节省操作时间,提高效率。例如:一块硬盘会为多个用户分配不同的存储应用空间,且这些用户之间隔离互补访问。

转载于:https://www.cnblogs.com/gaoyuan111/p/6579508.html

你可能感兴趣的文章
干货:解码OneData,阿里的数仓之路。
查看>>
使用 TeamCity 实现持续集成(CI)
查看>>
起源自天文学的PostgreSQL 优化器成本因子校对
查看>>
弹性滑动导航菜单:
查看>>
How to extend a readonly property ?????
查看>>
PostgreSQL 可靠性和一致性 代码分析
查看>>
【个性化阅读】ZapTxt的提醒姗姗来迟
查看>>
深入理解并行编程-分割和同步设计(五)
查看>>
(一二四)给类对象赋值、以及类对象的返回值
查看>>
C++回调C#方法
查看>>
scala 安装
查看>>
VC++ 非托管代码 & 托管代码
查看>>
intent-filter something
查看>>
每天学一点Scala之Try
查看>>
我的友情链接
查看>>
使用vSphere Power Cli初始化数据中心
查看>>
F5 APM针对Vmware view7.3 VDI业务发布测试问题分析
查看>>
多行查询结果合并sys_connect_by_path
查看>>
关于coredump文件生成与查看
查看>>
十进制、十六进制、二进制的转换
查看>>