当前位置: 首页 > news >正文

【Linux】操作系统(Operator System)

操作系统(Operator System )

  • 一、操作系统的概念
  • 二、操作系统的作用
  • 三、系统调用和库函数


一、操作系统的概念

操作系统是一组控制和管理计算机软硬件资源,为用户提供便捷使用的计算机程序的集合,是配置在计算机硬件系统上的第一层软件,是对硬件功能的扩充。它不仅是硬件与其它软件系统的接口,也是用户和计算机之间进行"交流"的窗口,笼统的理解,操作系统包括:

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

二、操作系统的作用

操作系统是直接运行在"裸机"上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。它的主要作用如下:

  • 管理计算机的所有系统资源。
  • 提供友好的用户界面。
  • 为应用程序的开发和运行提供一个高效的平台。

三、系统调用和库函数

操作系统虽然帮我们管理好软硬件资源,给我们的应用程序提供一个良好的执行环境,但是我们不能直接去使用操作系统,因为我们随意操作可能会破坏操作系统的稳定性,导致系统紊乱,所以操作系统为了保护自身同时又要给我们用户提供服务,操作系统便有了系统调用的概念,我们通过调用系统调用接口来向操作系统发起请求,操作系统收到系统调用接口的调用请求后便为我们处理请求,有了系统调用接口后操作系统便能保证自身的稳定性也能为我们用户提供良好的服务了!

  • 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。

  • 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,要求用户要有一定的操作系统知识。所以,有心的开发者可以对部分系统调用进行适度封装,形成了二次开发,二次开发有一部分是图形化界面,还有一部分是 shell与工具集,这就很有利于更上层用户或者开发者进行开发使用操作了。
    在这里插入图片描述
    整个计算机体系的软硬件结构是层状的,我们在使用操作系统时无法绕过特定层,而是必须从上到下贯穿、从下到上返回。
    例如,利用touch命令创建一个文件,我们便是使用了shell向对应的关于磁盘的系统调用发起请求,然后通过系统调用向操作系统发起请求,操作系统处理后让驱动去驱使相应的硬件进行创建文件,然后再层层返回。

系统调用和库函数的关系
系统调用是操作系统提供的接口,一些库函数是对系统调用的封装,例如C语言中的printf scanf函数,这些函数一般都功能强大或者要访问外设。但不是所有的库函数都会封装系统调用,比如一些单进行计算的库函数不需要访问外设,也就无需调用系统调用。

操作系统的组成结构:
在这里插入图片描述

相关文章:

【Linux】操作系统(Operator System)

操作系统(Operator System )一、操作系统的概念二、操作系统的作用三、系统调用和库函数一、操作系统的概念 操作系统是一组控制和管理计算机软硬件资源,为用户提供便捷使用的计算机程序的集合,是配置在计算机硬件系统上的第一层…...

机器学习自学笔记——感知机

感知机预备知识 神经元 ​ 感知机算法最初是由科学家从脑细胞的神经凸起联想而来。如下图,我们拥有三个初始xxx值,x1,x2,x0x_1,x_2,x_0x1​,x2​,x0​。其中x01x_01x0​1为一个初始的常量,专业上称作“偏置”。每个xxx的值都会乘上一个权重…...

C++ Primer第五版_第三章习题答案(21~30)

文章目录练习3.21练习3.22练习3.23练习3.24练习3.25练习3.26练习3.27练习3.28练习3.29练习3.30练习3.21 请使用迭代器重做3.3.3节的第一个练习。 #include <vector> #include <iterator> #include <string> #include <iostream>using std::vector; usi…...

colmap+openmvs进行三维重建流程全记录

window下的colmapopenmvs进行三维重建流程全记录 1.colmap安装与配置 可参考&#xff1a;https://blog.csdn.net/weixin_44153180/article/details/129334018?spm1001.2014.3001.5501 2.openmvs安装与配置 可参考&#xff1a;https://blog.csdn.net/rdw1246010462/article…...

yolov8命令行运行参数详解

序言 整理来自yolov8官方文档常用的一些命令行参数&#xff0c;官方文档YOLOv8 Docs yolov8命令行的统一运行格式为&#xff1a; yolo TASK MODE ARGS其中主要是三部分传参&#xff1a; TASK(可选) 是[detect、segment、classification]中的一个。如果没有显式传递&#xf…...

分布式锁简介

Redis因为单进程、性能高常被用于分布式锁&#xff1b;锁在程序中作用是同步工具&#xff0c;保证共享资源在同一时刻只能被一个线程访问。 Java中经常用的锁synchronized、Lock&#xff0c;但是Java的锁智能保证单机的时候有效&#xff0c;分布式集群环境就无能为力了&#xf…...

【嵌入式Linux学习笔记】Linux驱动开发

Linux系统构建完成后&#xff0c;就可以基于该环境方便地进行开发了&#xff0c;相关的开发流程与MCU类似&#xff0c;但是引入了设备树的概念&#xff0c;编写应用代码要相对复杂一点。但是省去了很多配置工作。 学习视频地址&#xff1a;【正点原子】STM32MP157开发板 字符…...

2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛(同步赛)(H题)(线段树)

又到了万物复苏的季节&#xff0c;家乡的苹果树结果了。像往常一样小龙同学被叫回家摘苹果。 假设需要采摘的一棵树上当前有a颗苹果&#xff0c;那么小龙会采摘⌈a/3⌉颗苹果&#xff0c;其中⌈x⌉表示不小于x的最小整数。 但是&#xff0c;为了可持续发展&#xff0c;若a小于1…...

Linux内核Thermal框架详解十三、Thermal Governor(3)

接前一篇文章Linux内核Thermal框架详解十二、Thermal Governor&#xff08;2&#xff09; 二、具体温控策略 上一篇文章介绍并详细分析了bang_bang governor的源码。本文介绍第2种温控策略&#xff1a;fair_share。 2. fair_share fair_share governor总的策略是频率档位⽐较…...

TikTok品牌出海创世纪(二)

目录 1.推荐算法打造王者品牌 2.品牌聚焦海外Z群体 3.持续扩展应用场景 加速品牌全球化传播 品牌聚焦海外Z群体 “这个地球上&#xff0c;三分之二的人都在用Facebook“&#xff0c;这是对Facebook曾经统治地位最直观的描述。 但如今&#xff0c;这家全球社交媒体巨头的光环正…...

iOS中SDK开发 -- cocoapods库创建

在iOS项目中&#xff0c;经常使用cocoadpods来进行依赖管理以及三方库引入等。引入的三方库一般会有几种形式&#xff1a;一、在Pods目录下可以直接看到源代码的开源库&#xff0c;如AFNetworking&#xff0c;Masonry等常见开源库。二、在Pods目录下拉取的项目文件只能看到对应…...

2023年了,还是没学会内卷....

先做个自我介绍&#xff1a;我&#xff0c;普本&#xff0c;通信工程专业&#xff0c;现在飞猪干软件测试&#xff0c;工作时长两年半。 回望疫情纪元&#xff0c;正好是实习 毕业这三年。要说倒霉也是真倒霉&#xff0c;互联网浪潮第三波尾巴也没抓住&#xff0c;狗屁造富神…...

chatGPT爆火,什么时候中国能有自己的“ChatGPT“

目录 引言 一、ChatGPT爆火 二、中国何时能有自己的"ChatGPT" 三、为什么openai可以做出chatGPT? 四、结论 引言 随着人工智能技术的不断发展&#xff0c;自然语言处理技术也逐渐成为了研究的热点之一。其中&#xff0c;ChatGPT作为一项领先的自然语言处理技术…...

【Matlab算法】粒子群算法求解一维非线性函数问题(附MATLAB代码)

MATLAB求解一维非线性函数问题前言正文函数实现&#xff08;可视化处理&#xff09;可视化结果前言 一维非线性函数是指函数的自变量和因变量都是一维实数&#xff0c;而且函数的形式是非线性的&#xff0c;也就是不符合线性函数的形式。在一维非线性函数中&#xff0c;自变量…...

2023 最新发布超全的 Java 面试八股文,整整 1000道面试题,太全了

作为一名优秀的程序员&#xff0c;技术面试都是不可避免的一个环节&#xff0c;一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 2023 年的互联网行业竞争越来越严峻&#xff0c;面试也是越来越难&#xff0c;很多粉丝朋友私信希望我出一篇面试专题或…...

产品经理面经|当面试官问你还有什么问题?

相信很多产品经理在跳槽面试的时候&#xff0c;在面试尾声都会遇到这样的环节&#xff0c;面试官会问你有什么问题要问的&#xff0c;一般来说大家都能随时随地甩出几个问题来化解&#xff0c;但其实在这个环节对于应聘者来说也是一个很好的机会来展现自己的能力&#xff0c;甚…...

单链表的基本操作

目录 一.链表的基本概念和结构 二.链表的分类 三.单链表的基本操作 1.创建一个节点 2.打印 3.尾插 4.头插 5.尾删 6.头删 7.查找 8.指定位置插入 9.指定位置删除 10.销毁 一.链表的基本概念和结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结…...

【微信小程序-原生开发】系列教程目录(已完结)

01-注册登录账号&#xff0c;获取 AppID、下载安装开发工具、创建项目、上传体验 https://sunshinehu.blog.csdn.net/article/details/128663679 02-添加全局页面配置、页面、底部导航 https://sunshinehu.blog.csdn.net/article/details/128705866 03-自定义底部导航&#x…...

JavaEE--Thread 类的基本用法(不看你会后悔的嘿嘿)

Thread类是JVM用来管理线程的一个类,换句话说,每个线程都唯一对应着一个Thread对象. 因此,认识和掌握Thread类弥足重要. 本文将从 线程创建线程中断线程等待线程休眠获取线程实例 等方面来进行具体说明. 1)线程创建 方法1:通过创建Thread类的子类并重写run () 方法 class M…...

MySQL数据库基本使用(二)-------数据库及表的增删改查及字符集修改

1.MySQL数据库的使用演示 1.1创建自己的数据库 命令格式如下&#xff08;创建的数据库名称不能与已经存在的数据库重名&#xff09;&#xff1a; mysql> create database 数据库名;例如&#xff1a; mysql> create database atguigudb; #创建atguigudb数据库&#xf…...

VirtIO-GPU虚拟化图形加速:从零构建到实战部署

1. VirtIO-GPU虚拟化图形加速入门指南 第一次接触VirtIO-GPU时&#xff0c;我完全被这个技术概念搞懵了。简单来说&#xff0c;它就像是在虚拟化环境中给每台虚拟机分配一个"虚拟显卡"&#xff0c;让它们能共享物理显卡的3D加速能力。想象一下&#xff0c;你有一台强…...

网盘生态颠覆者:LinkSwift直链获取工具的终极进化

网盘生态颠覆者&#xff1a;LinkSwift直链获取工具的终极进化 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…...

WeChatMsg:3步实现微信聊天记录永久保存与智能分析的终极指南

WeChatMsg&#xff1a;3步实现微信聊天记录永久保存与智能分析的终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/w…...

CFD模拟结果总不对?可能是你忽略了‘膨胀粘度项’:一个在可压缩流中至关重要的细节

CFD模拟结果总不对&#xff1f;可能是你忽略了‘膨胀粘度项’&#xff1a;一个在可压缩流中至关重要的细节 在计算流体力学&#xff08;CFD&#xff09;的世界里&#xff0c;可压缩流动模拟一直是个令人又爱又恨的领域。记得去年参与某型航空发动机喷管优化项目时&#xff0c;团…...

揭秘2026奇点智能大会KG实践链路:从LLM增强抽取到动态本体演化的5步工业级闭环

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI原生知识图谱构建&#xff1a;2026奇点智能技术大会KG实践指南 AI原生知识图谱&#xff08;AI-Native KG&#xff09;不再将图谱视为静态结构化知识库&#xff0c;而是作为大模型推理的实时协同体——…...

LocalAI私有化部署指南:兼容OpenAI API的本地AI引擎实战

1. 项目概述&#xff1a;LocalAI&#xff0c;你的私有化AI引擎 如果你和我一样&#xff0c;对把AI模型部署到自己的硬件上这件事充满热情&#xff0c;同时又对公有云API的成本、延迟和隐私问题感到头疼&#xff0c;那么LocalAI这个项目绝对值得你花时间深入研究。简单来说&…...

5分钟掌握B站4K视频下载:开源工具完全指南

5分钟掌握B站4K视频下载&#xff1a;开源工具完全指南 【免费下载链接】bilibili-downloader B站视频下载&#xff0c;支持下载大会员清晰度4K&#xff0c;持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为无法保存B站精彩视频而烦…...

C#调用本地硬件不再难:基于CefSharp WinForm实现Web页面读写身份证/摄像头(避坑指南)

C#混合开发实战&#xff1a;基于CefSharp构建Web与本地硬件交互的桥梁 在政务大厅办理业务时&#xff0c;你是否遇到过这样的场景&#xff1a;网页端填写表单到一半&#xff0c;工作人员突然要求插入身份证读卡器进行身份核验&#xff1f;传统B/S架构应用在这种需要访问本地硬…...

使用Hermes Agent框架时接入Taotoken的配置要点

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用Hermes Agent框架时接入Taotoken的配置要点 对于使用Hermes Agent框架的开发者而言&#xff0c;通过Taotoken平台统一调用多种…...

自托管AI助手Moltis:基于Rust的持久化个人AI代理服务器部署与实战

1. 项目概述&#xff1a;为什么我们需要一个“持久化”的个人AI代理服务器&#xff1f;如果你和我一样&#xff0c;在过去一年里深度体验过各种AI助手&#xff0c;从ChatGPT到Claude&#xff0c;再到各种开源的Agent框架&#xff0c;你可能会发现一个共同的痛点&#xff1a;它们…...