• 操作系统概念介绍


    目录

    前言

    一、冯诺依曼体系结构

    1、冯诺依曼体系组成

    2、信号传递过程

    二、操作系统

    1、操作系统简介

    2、管理的理解

    3、系统调用和库函数概念

    总结


    前言

    哈喽,小伙伴们大家好。从今天起,我将和大家一起学习操作系统。操作系统是计算机知识体系中非常重要的一门课。在学习操作系统之前,我们对一个程序的理解仅仅停留在代码阶段,而学习操作系统后,我们可以从系统层面有更加深刻的认识。今天我就先来简单介绍以下操作系统的相关概念。


    一、冯诺依曼体系结构

    1、冯诺依曼体系组成

    冯诺依曼体系结构是从硬件层面产生的结构,我们常见的计算机或者服务器都遵守冯诺依曼体系结构。冯诺依曼体系由输入设备,输出设备,存储器(内存),中央处理器(CPU)四部分组成。

    输入设备:包括键盘,网卡,话筒,摄像头,硬盘。

    输出设备:包括显示器,音响,网卡,硬盘。

    内存:用来数据中转。

    中央处理器:包含运算器和控制器两部分。运算器用来计算,主要包括算数运算和逻辑运算两部分。控制器控制着整个cpu的工作,用来协调计算机的各个部件。

    2、信号传递过程

    信号分为两种,分别是控制信号和数据信号。控制信号直接由输入设备传到CPU中,而数据信号需要先预存到内存中再进入CPU。这是为什么呢?

    因为数据的量一般是很大的,而输入设备的传输速度是要远远小于CPU的,根据木桶原理,最终的传输速度取决于输入设备的速度,这不严重浪费了CPU的效率。为了解决这一问题,冯诺依曼体系中加入了一个中转器——内存。内存的传输效率处于输入设备和CPU之间,并且内存是有数据存储能力的,会进行预存储,当CPU需要数据时,内存不仅会从输入设备中把现在需要的数据拿过来,还会把附近的一大段数据都搬到内存里,以后CPU再想要数据直接从内存中拿就好了。

    现在我们来根据冯诺依曼体系简单描述一下你从qq上给你朋友发了一条消息这一传输过程:首先你从键盘上输入了一条消息,存到了内存里,然后内存把数据传给CPU经过一系列操作后CPU再把处理好的数据传回到内存中,内存再把数据传到网卡中,然后数据通过网络传输(网络传输以后再说)到你朋友的电脑网卡中,数据再从你朋友电脑的网卡传到内存,再传到CPU,处理后再回到内存,最后传输到你朋友的输出设备也就是显示屏上。

    二、操作系统

    1、操作系统简介

    概念:任何计算机系统都包含一个基本的程序集合,称为操作系统(OS),操作系统包括:

    • 内核(进程管理,内存管理,文件管理,驱动管理)
    • 其它程序(例如数据库,shell程序等)

    定位:操作系统是一款进行软硬件资源管理的软件。

    2、管理的理解

    上面提到,操作系统是一款搞管理的软件,那么如何理解管理这个词呢?我们不妨来举个例子。

    以我们的学校为例,毫无疑问校长是这个学校的管理者,学生是被管理者。那么校长想要管理学生是直接与学生进行接触吗?大多数情况下并不是,大家可以回想一下自己的大学生活,基本除了开学典礼和运动会就很少见到校长了吧,一般校长的指令都通过辅导员来执行。那么校长发号指令的依据是什么呢?这就要设计到另一个概念——信息(数据)。辅导员不但是命令的执行者,同时还是信息的收集者,她把学生的各种数据反馈给校长,校长再根据得到的数据发出相应的指令。

    那么校长又是怎样管理数据的呢?用一句话就能概括:先描述,再组织。校长先根据辅导员反馈过来的信息把每个学生都描述出来,比如把学生A的身高,体重,年龄,学习成绩等数据集合到一起,就是学生A的描述。同理,这样也可以描述学生B,C,D。然后校长再把每个学生的描述都录入到一个文档里组织到一起,以后想要根据数据做判断的时候查阅这个文档就ok了。所以管理者对被管理者的管理,本质上是对数据的管理。

    对计算机来说,操作系统就好比学校的校长,管理数据的方法同样是先描述再组织。

    • 描述起来,使用struct结构体
    • 组织起来,用链表或其它搞笑的数据结构

    3、系统调用和库函数概念

    计算机的组成可以理解成层状结构:

    • 最下方是硬件层 ,操作系统想直接控制硬件设备是比较困难的,因为每个硬件设备的结构都不一样,如果发生变化之后还要对操作系统的源码进行修改,成本非常高。所以在硬件层上面添加了驱动层,一般由驱动程序来控制硬件,驱动程序大部分都是是硬件厂商出场设备时写好的。
    • 驱动程序上面是操作系统,操作系统只需要控制驱动程序即可。
    • 操作系统对外表现为一个整体,只暴露部分接口,供上层开发使用,这部分暴露的接口叫做系统调用。
    • 系统调用在使用上要求比较高,所以有心的开发者们又把系统调用进行了适度封装,形成了库,供上层开发者或者用户使用。

    总结

    本章主要简单介绍了操作系统的一些相关概念。操作系统是一门非常抽象的学科,比较难理解,想要学好这门课需要一点一点的积累。希望小伙伴们能够耐下心来好好钻研,我也会努力学习,争取把更好的作品带给大家。感谢阅读,来日方长,我们下次再见。

  • 相关阅读:
    论人类下一代语言的可能—4.1算术
    Kubernetes之Pod
    计算日期到天数转换
    16.1 Socket 端口扫描技术
    经历了源码的痛苦,掌握DRF的核心序列化器
    基于TensorFlow+CNN+协同过滤算法的智能电影推荐系统——深度学习算法应用(含微信小程序、ipynb工程源码)+MovieLens数据集(一)
    【docker】ubuntu下安装
    【岛上书店】读后感
    LVS+Keepalived+nfs 集群部署及实验
    【浅学Java】从浏览器中输入一个URL之后,会发生什么?
  • 原文地址:https://blog.csdn.net/weixin_59371851/article/details/126077673