• 操作系统初识


    计算机的诞生


    传统的技术发展

    技术进步是要花钱的,钱从哪里来?那么只有国家给,但是国家却无法从中获利,技术没有稳定的资金来源,因此技术进步是受阻并且缓慢的。

    技术商业化

    技术人员:搞技术。

    搞技术需要资金,那么商业化的公司投资,获得其技术的授权和专利。

    于是产生了intel,apple等公司用技术孵化出民用级的产品,于是将技术变现卖给老百姓。

    操作系统发展


    为什么诞生了操作系统?

    在计算机被发明之初,只是一堆硬件,其使用成本是非常高的,通常只能是专业的科学家。

    有人开始研发计算机上的软件,于是由肯汤普森使用汇编语言编写的Unix诞生,开始进入高校和各种实验室。

    丹尼斯里奇和肯汤普森又使用C语言编写了Unix,与此同时:

    • 授权了IBM等公司使用,至此大型公司也开始使用计算机。

    • 微软等公司相继诞生,计算机开始进入普通家庭。

    • linux诞生,开源并不断有工程师给出改进方案。

    操作系统是什么


    要知道操作系统是什么,就要先清楚两个问题:

    1. 为什么要有操作系统?

    ​ 答:单纯的硬件操作效率地下,难度大。

    1. 操作系统和硬件的关系?

    ​ 移动端 (手机、平板)和桌面端设备,OS图示:

    image-20220817161728113

    更为详细的:

    image-20220817163202176

    • 用户层:包括图形化界面,各种应用程序,各种库。
    • OS kernel对上给用户提供良好高效的运行环境,对下管理好下层的软硬件资源,管理各种资源,包括:
      1. 进程管理
      2. 文件管理
      3. 内存管理
      4. 驱动管理
    • 驱动层:一般,每一个硬件都有厂商提供的驱动,一些基础的硬件(鼠标,键盘,显示器)驱动由OS自动安装,对上提供访问硬件的接口,帮上层实现对硬件的基本访问,对下可以操作硬件。
    • 硬件层:我们熟悉的硬件有CPU,显卡,显示器,鼠标,硬盘等等。

    总结OS是一款软件,是用于对软硬件资源进行管理的软件,是上层用户和下层硬件的媒介。

    例如:显示器是我们使用时感知最明显的硬件,而如果我们想在显示器上使用printf或者cout向显示器上打印,本质就是像硬件写入数据,而对硬件写入数据的具体过程不需要我们关心,我们只需要告诉操作系统我们的需求,操作系统会完成对硬件的访问和操作,这样就大大提高了效率。

    简单概括


    内核

    内核主要目的是为了应用程序提供一个稳定良好的运行程序,其要干的五件事情:

    1. 内存管理
    2. 虚拟文件
    3. 系统进程调度
    4. 网络接口
    5. 进程间通信

    从编程的角度看:

    Linux内核就是一个调用库,应用程序通过调用Linux提供的API函数来实现操作,Linux内核通过与驱动通信实现对硬件的有效管理

    驱动程序

    驱动程序属于内核的一部分,是内核的扩展组件,用来帮助内核实现硬件的连接和操控,不包含驱动的内核也叫内核。内核通过提供统一的驱动操作接口供用户层使用,驱动就是在这层统一的接口下实现硬件的操控的中间层。

    操作系统

    操作系统,在内核的基础上有延伸,包括了提供基础服务的系统组件。操作系统是用户和硬件之间的一层媒介程序,为上提供编程接口,为下调用资源,管理驱动,以使用硬件。不管是Linux还是Windows或者安卓、iOS,它的主要功能有两点:

    1. 有效管理硬件。

    2. 方便用户操作。

    驱动与操作系统的关系

    驱动程序实现了操作系统对硬件的有效管理,是操作系统管理硬件的一个途径。

  • 相关阅读:
    Linux:补充一些常用命令
    【机器学习】支持向量回归
    ESP-ADF LVGL GUI开发简易化
    GMT中标注特殊字符:平方,%,±号,希腊字母
    c语言编程请增补函数fun
    Python语言学习实战-内置函数sorted()的使用(附源码和实现效果)
    ansible自动化管理
    redis实战-实现用户签到&UV统计
    几个推荐程序员养成的好习惯
    spring高级源码50讲-20-36(springMVC)
  • 原文地址:https://blog.csdn.net/qq_61313949/article/details/127595031