python全栈 day03 操作系统 -- 摘要

一、操作系统

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

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

二、操作系统的位置

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

 

三、操作系统的功能

    操作系统有两大功能,

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

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

四、操作系统发展史

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

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

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

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

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

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

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

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

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

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

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

五、多道技术

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

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

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

原文地址:https://www.cnblogs.com/gaoyuan111/p/6579508.html