初识操作系统

news2025/4/18 14:45:28

操作系统

文章目录

      • 操作系统
        • 一、上次的问题
        • 二、什么是操作系统(Operator System)
          • 设计操作系统的目的
        • 三、操作系统上下层分别是什么
        • 四、先描述,后组织

一、上次的问题

为什么程序运行之前必须先加载到内存?

因为可执行程序(文件)是在硬盘(外设)上的,而CPU只能从内存当中获取数据,所以必须先将硬盘上的数据加载到内存,也就是必须先将程序加载到内存。

二、什么是操作系统(Operator System)

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

简单来说操作系统就是管理软硬件资源的软件。

设计操作系统的目的
  • 与硬件交互,管理所有的软硬件资源

  • 为用户程序(应用程序)提供一个良好的执行环境

三、操作系统上下层分别是什么

从我们普通人的视角来看只能看到计算机的硬件:鼠标、显示器、键盘、网卡等,这些硬件看似是互不相干的,但他们的底层是严格遵守冯诺依曼体系结构的。

在这里插入图片描述

但是,只有硬件是完全不行的,我们需要有一个软件对硬件进行管理。

这个软件就是我们称呼的操作系统(OS)。

但是操作系统是如何管理的呢,操作系统是直接面向这些硬件的吗?

答案是否定的,如果硬件由OS进行维护,那么成本就太高了。

例如,我们有两把键盘,一个87键,一个96键,如果我们目前使用的OS是对应87键的,当我们把键盘换成96键,那么多出来的几个键OS岂不是无法识别?岂不是需要修改OS的源码来适配这个键盘吗?

所以又出现了一个解决思路,驱动

我们在OS和硬件之间又加了一层驱动,驱动主要就是去单独控制底层的各种硬件的。不同的驱动有不同的控制对象,例如键鼠有键鼠的驱动,网卡有网卡驱动。驱动才是直接与硬件进行打交道的。而驱动是各个硬件厂家提供的,可以对OS相关的模块进行开发,由此一来驱动适配不同的硬件。OS则可以高枕无忧,只需要关注什么时候读数据,而不用关心数据的读取过程了。
在这里插入图片描述

所以说操作系统到底在管理什么?

答案是

  1. 内存管理:内存分配、内存共享、内存保护以及内存扩张等。

  2. 驱动管理:对计算机设备驱动驱动程序的分类、更新、删除等操作。

  3. 文件管理:文件存储空间的管理、目录管理、文件操作管理以及文件保护等等。

  4. 进程管理:其工作主要是进程的调度。

操作系统再往上一层就是我们用户层了,如Windows系统下我们的图形化桌面。

但是为了避免普通人对操作系统进行某种不当的操作,又向用户层和操作系统层面加了一层,系统调用层。

这样可以极大的保证操作系统的安全性和保密性:操作系统暴露出来的系统调用,才是我们能做的,我们看不到的则是操作系统不想让我们看到的。

但是这些系统调用对我们普通用户来说使用成本又太高了(需要时间和精力去了解学习),所以又在系统调用层面上构建出了一些库,如libc和libc++等。

实际上,语言上使用的各种库都是调用封装了系统调用的。

在这里插入图片描述

四、先描述,后组织

什么是先描述,后组织呢?

先描述,后组织是操作系统管理的精髓。

举个例子,一个学校的校长要挑出几个学生去参加比赛。校长是管理者,学生是被管理者。学校有这么多学生,校长总不可能一个一个去看吧,所以需要体育老师(执行者)对学生们进行测试,把学生的成绩归纳到一个表中,再由校长进行挑选。其中校长没有直接面对学生,而是通过学生的成绩来决定谁来参加比赛。这样的方式就是先描述后组织。

这个例子中校长就类似于操作系统,体育老师就类似于驱动,学生就类似于各种硬件外设,将学生成绩信息数据化的过程就是描述,将学生成绩通过链表、顺序表、树等数据结构关联起来就是组织

总结:先将被管理者的某种信息数据化,再将它们用数据结构关联起来,这就是先描述后组织。

感谢阅读,欢迎指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/765966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字化时代,如何做好用户体验与应用性能管理​

引言 随着数字化时代的到来,各个行业的应用系统从传统私有化部署逐渐转向公有云、行业云、微服务,这种变迁给运维部门和应用部门均带来了较大的挑战。基于当前企业 IT 运维均为多部门负责,且使用多种运维工具,因此,当…

【27】SCI易中期刊推荐——计算机科学机器人学(中科院2区)

💖💖>>>加勒比海带,QQ2479200884<<<💖💖 🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀🍀 ✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨ 📚📚>>>人工智能 | 计算机视觉…

arcgis建筑密度容积率覆盖率

大多数研究会把覆盖率当作建筑密度。 用覆盖率更恰当一些。 建筑覆盖率&#xff1a; 建筑物占据面积/街区面积 [Sum_area]/ ([area]*1000000) 排序检查数据&#xff0c;最大值0.75&#xff0c;最小值0. 建筑覆盖率&#xff0c;建筑密度的范围都应该在0-1之内&#xff0c;不是…

linux之Ubuntu系列(三)远程管理指令☞SSH 高级应用 RSA非对称加密 以及免密登录,配置别名

对称加密 、非对称加密 1、对称加密中加密和解密使用的秘钥是同一个&#xff1b;非对称加密中采用两个密钥&#xff0c;一般使用公钥进行加密&#xff0c;私钥进行解密。 2、对称加密解密的速度比较快&#xff0c;非对称加密和解密花费的时间长、速度相对较慢。 3、对称加密的…

【文末送书】AIGC时代的数据分析与可视化

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。搜…

C语言实现:offsetof(OFFSETOF)宏的实现

C语言实现&#xff1a;offsetof宏的实现 offsetof:求结构体成员的偏移量 offsetof:求结构体成员的偏移量 直接上代码&#xff1a; #define OFFSETOF(type,member) ((size_t)(&(((type*)0)->member))) 图解&#xff1a; 图中测试原码&#xff1a; #include<stdi…

Centos Stream9安装vim代码提示coc的详细过程

Centos Stream9安装vim代码提示coc的安装步骤&#xff1a; 1、安装字体 https://github.com/ryanoasis/nerd-fonts/releaseshttps://github.com/ryanoasis/nerd-fonts/releases wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/Hack.tar.xz 下载后&a…

短视频seo抖音矩阵源码开发搭建技术解析

一、 短视频seo抖音矩阵源码开发需要考虑以下几个方面&#xff1a; 技术选型&#xff1a;选择合适的开发语言、框架和数据库&#xff0c;常用的开发语言有Java、PHP等&#xff0c;常用的框架有Spring、Django等&#xff0c;常用的数据库有MySQL、MongoDB等。 服务器的选择&…

若依框架系列教程(RuoYi-Vue前后端分离版本)

视频教程见评论 相关文档&#xff1a; https://www.cnblogs.com/52mqq/p/16068330.html 若依 Ruo-Yi&#xff08;分离版&#xff09;学习笔记 若依框架RuoYi项目运行启动教程【傻瓜式教程】_若依前端怎么启动_紫陌~的博客-CSDN博客 一定要看上面那个傻瓜式教程&#xff0c;…

MediaType的常用类型-GPT问答

MediaType的常用类型-GPT问答 MediaType是一个枚举类&#xff0c;包含了常见的媒体类型。下面是一些常用的MediaType类型&#xff1a; APPLICATION_JSON&#xff1a;JSON格式的数据APPLICATION_XML&#xff1a;XML格式的数据APPLICATION_FORM_URLENCODED&#xff1a;表单格式的…

Docker 常用命令速览

Shawn的学习笔记Descriptionhttps://study.chenkequan.cn/#/Spring%E7%B3%BB%E5%88%97/Docker/Docker完整笔记查看我个人网站。 机缘巧合&#xff0c;我想把实验室的网重新配一遍&#xff0c;配置成自动登录校园网&#xff0c;之前配过了&#xff0c;我得到当时打了一个Docker…

盘点国内热门AI大模型

Chat-GPT问世以来&#xff0c;使得大模型一时间内火爆非凡。国内外各大科技公司也纷纷加入到大模型的研发行列中来&#xff0c;“百模之战”愈演愈烈&#xff0c;国内百度、阿里、华为等科技大厂陆续推出旗下大模型产品&#xff0c;新锐科技公司也不甘落后&#xff0c;目前不少…

【基于 GitLab 的 CI/CD 实践】01、GitLab CI/CD 基础概念

目录 一、为什么要做 CI/CD &#xff1f; 1.1 背景-传统的应用开发发布模式 问题 1.2 持续集成与持续交付 持续集成&#xff08;CI&#xff09; 持续交付&#xff08;CD&#xff09; 持续部署&#xff08;CD&#xff09; 1.3 CI/CD 的价值体现 1.4 推荐常用的 CI/CD 工…

人工智能系统将家用机器人的解决问题技能提高了80%

麻省理工学院的研究人员开发了PIGINet&#xff0c;这是一个新系统&#xff0c;旨在有效地提高家用机器人解决问题的能力&#xff0c;将规划时间缩短50-80%。 在正常情况下&#xff0c;家用机器人遵循预定义的执行任务的配方&#xff0c;这并不总是适合多样化或不断变化的环境。…

指针面试题详解

目录 前言&#xff08;数组名的总结&#xff09;&#xff1a; 一、int 型数组和 sizeof 的组合 sizeof计算原理 二、char类型和strlen&#xff08;&#xff09;组合 三、char*类型和sizeof&#xff08;&#xff09;组合&#xff08;有 \0 版本&#xff09; 四、char*类型和…

【干货】Mysql解决中文乱码

登录数据库后&#xff0c;选择数据库然后执行 MariaDB [test]> status; -------------- mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1Connection id: 6 Current database: test Current user: rootlocalhost SSL: …

开源人力资源管理系统OrangeHRM

什么是 OrangeHRM &#xff1f; OrangeHRM 是一个全面的人力资源管理(HRM) 系统&#xff0c;它包含任何企业所需的所有基本功能。该软件旨在支持任何规模的团队&#xff0c;包括初创企业、中小企业以及大型跨国组织。 你也可以去官方的演示站点进行体验 网址&#xff1a;https…

【Java】一文学透四种内部类|保姆级详解,一看就会

文章目录 一、什么是内部类&#xff1f;二、内部类的分类2.1&#xff1a;成员内部类&#xff08;实例内部类&#xff09;2.1.1&#xff1a;定义&#xff1a;2.1.2&#xff1a;特性2.1.3&#xff1a;实现原理&#xff1a;2.1.4&#xff1a;应用场景&#xff1a; 2.2&#xff1a;…

字节跳动-抖音支付大量招聘实习生

字节跳动-抖音支付大量招聘实习生 字节跳动-抖音支付大量招聘实习生 要求&#xff1a;2024年6月毕业且有时间来实习&#xff08;大于3个月&#xff09;的在校学生&#xff08;本三&#xff0c;研二&#xff09;&#xff0c;日常和暑期都有转正机会&#xff5e; 职位描述&…

WPF 自定义控件完成库容表盘显示效果

先看一下显示效果&#xff1a; 需要注意的地方有以下几点&#xff1a; 表盘的刻度分部&#xff0c;长刻度和短刻度显示。在数值80W时&#xff0c;需要更改刻度盘的颜色渐变。在数值80W时&#xff0c;更改库容总数背景的显示&#xff0c;也是颜色渐变。刻度盘控件属性定义&…