【Linux学习】初始认识操作系统

news2024/9/23 5:33:16

在这里插入图片描述

文章目录

  • 🚀简单认识操作系统(Operator System)
      • 🌂操作系统的定义
      • 🌂为什么需要操作系统呢?
      • 🌂系统调用和库函数概念


🚀简单认识操作系统(Operator System)

🌂操作系统的定义

操作系统(Operation System, OS) 是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织和调度计算机的工作和资源的分配,以提供给用户和其它软件方便的接口和环境,它是计算机系统中最基本的系统软件。

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

  1. 内核(进程管理,内存管理,文件管理,驱动管理)
  2. 其他程序(例如函数库,shell程序等等)

注意:
操作系统是第一个被加载的软件。
电脑开机的时候所等待的那几十秒,其实就是在加载操作系统。

那么操作系统在计算机层状结构中,是在哪里呢?

计算机的软硬件结构是层状的,如图:
在这里插入图片描述

操作系统是一个进行软硬件资源管理的软件,如何理解 “管理”。

管理者就是做决策的人,在计算机中,操作系统就是管理者,驱动程序与底层硬件是被管理者(执行者)。管理的本质是对数据做管理。管理者的核心工作是做决策,根据数据做决策。
就拿学校而言,校长,辅导员,学生来举个例。
校长的角色就是管理者,辅导员就是上面的驱动程序,学生就是底层硬件(执行者),校长向辅导员下达命令的时候,这时候就需要辅导员来驱动学生去做事情,辅导员在这里的作用就是提醒,驱动学生的作用。

注意:不能绕过操作系统给去访问底层,必须得经过操作系统。

🌂为什么需要操作系统呢?

如果没有操作系统的话,就不知道资源应该怎么分配,计算机的资源就不能被很好的利用,甚至可能出现竞争资源的现象。
对于一个程序而言,它为了保障自己的程序运行流畅,势必就会要求自己分配到的资源越多越好,但是计算机的资源总是有限的,大家都自顾自抢资源的话,要么就是大家一起跑不动,要么就是某几个程序把别的程序的资源都挤占掉。

操作系统存在的目的就是为了合理的给各个运行起来后的程序分配资源,从这个角度你可以把操作系统理解为一个资源分配器。操作系统与硬件交互,管理所有的软硬件资源,为用户程序(应用程序)提供一个稳定,高效,安全的执行环境。

总结

计算机管理硬件

  1. 描述起来,用struct结构体
  2. 组织起来,用链表或其他高效的数据结构

🌂系统调用和库函数概念

系统调用(system call)是操作系统内核提供的函数,在内核态运行(kernelmode),是操作系统为用户提供的一些接口。它通过软中断向内核态发出一个明确的请求。有一些任务需要进程跑比如和硬件打交道。所以进程调用系统调用就能让自己运行在内核态从而执行在内核态才能执行,这些类似的任务。

简单点说,系统调用接口,就是函数,使用C语言设计的函数(因为大部分操作系统都是用C语言(含少量汇编语言)所写的),由操作系统提供,系统调用这些函数,就是系统调用。
就比如:函数printf函数,printf函数最终是打印在显示器上得,显示器是一个硬件,所以printf函数调用得时候肯定会经过操作系统,所以printf底层必须得封装系统调用才能通过操作系统到硬件。
总结:如果使用的函数或者接口,能够访问到硬件,那只能是通过系统调用,因为只有通过系统调用才能访问操作系统。

系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。
比如:C语言库,C++库…


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

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

相关文章

20240331-2-文本表征方式

静态语义表示方法 知识体系 主要包括词袋模型 BoW、TFIDF、LDA、Word2vec、Golve、Doc2Vec 等。 Questions 在小数据集中 Skip-Gram 和 CBoW 哪种表现更好? Skip-Gram 是用一个 Center Word 预测其 Context 里的 Word;而 CBoW 是用 Context 里的所有…

Python 数据库简化操作:dataset 库介绍

文章目录 Python 数据库简化操作:dataset 库介绍第一部分:背景介绍第二部分:库是什么?第三部分:如何安装这个库?第四部分:库函数使用方法第五部分:场景应用第六部分:常见…

小清新思维题

CF521D shop Problem Solution 首先如果确定了执行的操作,执行顺序一定为赋值、加、乘。赋值操作只保留最大的,并可以转化为加法。每个数的加法操作按从大到小顺序排序后可以转化为乘法。最后将所有乘法操作从大到小排序选前𝑚个即可。 先…

数据库服务类--Redis--未授权访问终端Getshell

免责声明:本文仅做技术交流与学习. 目录 前提条件: windows上开启redis服务: Linux上创建&开启redis服务: 操作: 1-连接靶机redis 2-写入webshell 3-访问后门 redis--->webshell Redis未授权访问漏洞复现与利用 - 知乎 (zhihu.com) 前提条件: 端口开放(6379) 目录…

数据库左连接、右连接、内连接、全连接

在数据库增删改查中,数据通常不在同一张表中,涉及多表数据查询就需要表之间的连接方式,常用的数据库表连接方式有; 1)内连接:inner join 2)全连接:union 3)右连接&#x…

centos7安装了没有图形界面的解决办法

如果你的centos7是这样的 只需要重新选择虚拟机 按照这个配置调即可

面试宝典(1)——数据库篇(MySQL)

面试宝典(1)——数据库篇(MySQL) 1.什么是索引? 索引是一种用于加快数据库查询速度的数据结构。 索引可以帮助数据库快速定位到数据库表中特定列的记录,从而加快数据检索和查询的速度。 通过在表的列上…

protoc初识

protoc初识 参考资料 https://blog.csdn.net/qq_46637011/article/details/135085568 https://blog.csdn.net/qq_39400324/article/details/134172333 一 前期准备 windows查看proto是否安装好及版本号 protoc --version windows查看路径下文件 dir 想在124.50机器上安…

Linux进程概念(四):进程优先级 环境变量

目录 进程优先级 学前补充 命令行参数 环境变量 环境变量$PATH 整体理解环境变量 environ指针 获取环境变量的三种方式 内建指令 证明内建指令的存在 进程优先级 基本概念:指定进程获取某种资源的先后顺序 linux的优先级是进程控制块task_struct中的…

华为交换机重置密码

1.进入bootrom 加电后,18S左右,在启动菜单按 CtrlB 进入bootrom(3s内) 注意:本步骤属于高危操作,一定小心切勿删除系统或修改bootrom密码! 输入bootrom密码,按6 看到提示成功后按…

Django模型的继承

Django模型的继承 Django模型的继承,包括模型的抽象基类、Meta继承、related_name和related_query_name属性、多表继承、Meta和多表继承、继承与反向关系、代理模型、代理模型继承和未托管模型,以及多重继承等内容。本文讲解一下抽象基类继承&#xff0…

详解Qt中实现树状结构图

在Qt中,实现树状结构图通常采用QTreeWidget或QTreeView组件。这两个组件都允许我们创建具有层次结构的列表,但它们之间存在一些差异。QTreeWidget提供了更简单的API,适用于轻量级、快速开发的需求;而QTreeView则更为灵活和可定制&…

.NET WebAPI服务端启用跨源请求 (CORS)

跨源请求 (CORS)问题 在API服务端启用跨源请求 (CORS) 调用 UseCors 扩展方法并指定 PolicyCorsName CORS 策略。 UseCors 添加 CORS 中间件。 对 UseCors 的调用必须放在 UseRouting 之后,但在 UseAuthorization 之前。 Program.cs添加如下代码(注意中间…

货拉拉0-1数据指标体系构建与应用

目录 一、背景 二、指标体系搭建 2.1 指标设计 2.2 指标体系搭建 2.3 指标维度拆解 三、指标标准化建设 四、指标元数据管理 五、指标应用&未来规划 原文大佬介绍的这篇指标体系构建有借鉴意义,现摘抄下来用作沉淀学习。如有侵权请告知~ 一、背景 指标…

二叉搜索树及相关操作(图文详解)

1.概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左右子树也分…

【面试经典 150 | 数组】整数转罗马数字

文章目录 写在前面Tag题目来源解题思路方法一:模拟 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾…

c# 构造函数 静态构造函数 内联字段(即静态字段和实例字段) 父类构造函数 父类静态构造函数 父类内联字段 执行顺序

顺序如下: 1.子类的内联字段 2.子类的静态构造函数 3.父类的内联字段 4.父类的静态构造函数 5.父类的构造函数 6.子类的构造函数 7.子类的方法 public class A{public static string a1"A0";static A(){Console.WriteLine("父类内联字段:…

品深茶的创始人是谁?

据说,品深茶的创始人之前是一个程序员,他在软件行业工作十多年,由于常年熬夜加班再加上抽烟喝酒等不良习惯,导致在一次体检中被查出患上了肾癌,对他来说,期待的财务自由还没实现,身体就已经完蛋…

C++进阶复习

1 指针 作用&#xff1a;通过指针间接访问内存 1.内存编号是从0开始记录的&#xff0c;一般用十六进制数字表示。 2.可以利用指针变量保存地址。 1.1 指针变量的定义和使用 语法&#xff1a;数据类型 *变量名。如int *a; #include<iostream> using namespace std;int mai…

mininet+odl安装

安装环境 ubuntu-18.04.2-desktop-amd64 Java version: 1.8.0_362 Apache Maven 3.6.0 opendaylight: distribution-karaf-0.6.0-Carbon(csdn中应该是已有资源&#xff0c;不让上传) opendaylight的官网下载链接一直打开失败&#xff0c;我使用的是别人的Carbon版本。 在安…