进程之操作系统的概念

news2024/7/4 4:46:52
再小的努力,乘以365都很明显。

文章目录

  • 操作系统
    • 操作系统的概念
    • 设计操作系统的目的
  • 管理 ps:如何理解管理
    • 如何进行管理
  • 操作系统管理软硬件资源
  • 小总结
  • 系统调用和库函数的概念
    • 小总结

操作系统

在讲述进程的时候我们先讲述一下操作系统(os),因为进程就是被操作系统所管理的。

操作系统的概念

任何计算机系统都包含一个基本的程序集合叫做操作系统,比如说我们买安卓手机会提前安装好安卓系统,苹果的ios,以及微软的windows。

简单的理解操作系统包括

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

设计操作系统的目的

其实这个跟我们的生活是息息相关的因为现在计算机已经渗透到我们生活的方方面面了,那么我们在使用一个计算机(手机)的时候我们比较关注的地方不就包括这个手机安不安全啊,流畅不流畅。我身为用户在操作的时候方便不方便。那么我们就可以得出操作系统的作用就是以下两点:

  1. 为硬件做交互管理好软硬件资源。(我们在使用计算机的时候是否流畅)
  2. 为用户程序(应用程序)提供一个良好的操作执行环境。(这个手机它安不安全)

说白了操作系统就是一个纯正的搞管理应用软件

管理 ps:如何理解管理

    首先什么是管理,我们在班级里面被老师管理,老师又被领导管理,领导又被更高的领导管理,那么在这里我们首先要明确一个点就是管理是自上而下进行管理的,也就是上层的对下层进行管理。
     其次我们在学校里,我们的一切行为准则看似是听老师的,实际上我们听的是谁的?是校长的,但是你见过校长吗?或者说你的校长会因为一个小事就叫你吗?很明显不是的,也就是说第二点那就是上层在对下层做管理的是通过中间人进行的不需要真的见面。

如何进行管理

还是上面的那个列子,在一个学校里一个校长他想管理这个学校的每一个人他是把每一个人都认一边吗?当然不是校长也好老师也好他在管理你的班级的时候其实本质上他是搜集信息对信息做管理,比如说我是个老师我想获得我们班级每个人的成绩,那么我们肯定不是只要一个数字那么简单我们还需要知道,这个学生的名字等等,同理做管理的时候我们都是先对要管理的对象进行描述然后进行组织,从而进行管理

操作系统管理软硬件资源

有了上面对管理的理解后我们再来学习操作系统是如何管理的,那么操作系统在进行管理的时候其实也是先对要管理的对象进行描述然后再进行组织管理。

操作系统在进行管理的时候是用一个结构体这个结构体包含了各种属性,然后将需要管理的对象的各种属性进行描述然后再组织管理.
那么我们上面提到操作系统再管理的时候会先将需要管理的对象用一个结构体进行描述,那么这个结构体是什么呢?这个我们后文会讲到,它的名字叫做pcb。
那么上面说了操作系统的先描述再组织这个特点那么操作系统的另一个特点自上而下进行管理是如何体现的呢?
请看下图
在这里插入图片描述

从上图中我们也可以看出来操作系统是属于软件的一种,他对上给用户提供操作接口对下管理软硬件资源,并且在管理软硬件资源的同时它本身也是一个软件。

小总结

计算机管理硬件

先描述起来
组织起来用链表或者更高效的数据结构进行管理

系统调用和库函数的概念

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

关于系统调用和库函数上面的那张图片大家可以看一下我们发现系统调用接口我们可以到但是函数库是那一层呢?我们不知道。
这里我给大家举一个列子:比如说你是你们学校的一个技术非常牛逼的大佬。但是你的隔壁学校呢没有你这么牛的人,于是就想让你帮助他们出去打acm比赛。那么这个学校的校长如果直接找你说这个事情你觉得合适吗?肯定不合适因为你不是他们学校的,你有你的管理者对方学校直接越过你们学校的校长来找你,这肯定不行因为你的校长肯定要对你负责你的一切消息他都要了解到,所以对方不能直接越过你的校长来找你,肯定是先找你的校长之后你的校长再找你。

那么通过上面的例子我们带入一下,假如说printf()函数就是对方学校的校长,printf()函数想在电脑上打印一个东西他能直接越过操作系统去找电脑硬件设备吗?肯定不行因此我们可以知道,库函数是属于操作系统之上的,并且结合上面系统调用的概念可以知道库函数肯定也不是系统调用那一层的因此可以知道库函数属于用户操作接口。

小总结

1.在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分
由操作系统提供的接口,叫做系统调用。
2.系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统
调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。

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

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

相关文章

基于Java的小说下载网站管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

支持多用户协作的API测试工具:Apipost

在当今快速发展的数字化时代,API已成为企业与开发者实现数据互通、应用集成的重要桥梁。然而,随着API数量的不断增加,API开发、调试、测试、文档等工作也变得越来越复杂。为了解决这一痛点,一款名为Apipost的API协同研发工具应运而…

Python基础入门例程6-NP6 牛牛的小数输出

目录 描述 输入描述: 输出描述: 示例1 解答: 说明: 描述 牛牛正在学习Python的输出,他想要使用print函数控制小数的位数,你能帮助它把所有读入的数据都保留两位小数输出吗? 输入描述&a…

006:vue使用lottie-web实现web动画

文章目录 1. 简介2. 优点3. 效果4. 安装使用5. lottie-web 常用方法6. Lottie-web 常用的事件 1. 简介 官方介绍:Lottie 是一个库,可以解析使用AE制作的动画(需要用bodymovie导出为json格式),支持web、ios、android、flutter和re…

LeetCode 22. 括号生成【字符串,回溯;动态规划】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

基于Java的线上花店管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

OJ题之反转链表

hello ~~~每日一练的分享来了。 今天up主将为大家分享一个 OJ题之反转链表 题目:将链表实现如下的变化 1.思路的讲解:对于原链表我们只需改变指针的指向(箭头)即可 那么问题就来了,我们如何实现此操作?…

Redis设计与实现(2)链表和链表节点

每一个链表节点 typedef struct listNode{//前置节点struct listNode *prev;//后置节点struct listNode *next;//节点值void *value }lisNode; 多个listNode可以通过pre和next指针组成双端链表 虽然只要使用多个listNode结构就可以组成链表,但使用adlist.h/list来…

NLP入门——语言结构/语言建模

一、Linguistics 语言学 wordsmorphology 形态学:词的构成和内部结构研究。如英语的dog、dogs和dog-catcher有相当的关系morpheme 语素:最小的语法单位,是最小的音义结合体lexeme 词位:词的意义的基本抽象单位,是一组…

C语言_字符串和内存函数

文章目录 前言一. strlen二. strcpy三.strcat四. strcmp (字符串比较)五. strncpy六. strncmp七. strstr八. strtok九 . strerror perror十. 字符分类函数十一. memcpy (内存拷贝)十二. memmove(可以重叠拷贝 也可以实现不重叠的内存拷贝) 前…

CentOS7安装部署CDH6.2.1

文章目录 CentOS7安装部署CDH6.2.1一、前言1.简介2.架构3.环境 二、环境准备1.部署服务器2.安装包准备3.修改机器名4.关闭防火墙5.关闭 SELinux6.Hosts文件7.limits文件8.设置swap空间9.关闭透明巨页内存10.免密登录 三、安装CM管理端1.安装第三方依赖包2.安装Oracle的JDK3.安装…

Rockchip RK3399 - DRM crtc基础知识

一、LCD硬件原理 1.1 CRT介绍 CRT是阴极射线管(Cathode Ray Tube)的缩写,它是一种使用电子束在荧光屏上创建图像的显示设备。CRT显示器在过去很长一段时间内是主流的显示技术,现已被液晶显示屏或其他新兴技术所替代。 在CRT显示器中,扫描电子…

k8s-----6、pod的镜像拉取、重启策略、资源限制

镜像拉取、重启策略、资源限制 1、镜像拉取2、资源限制3、重启机制 1、镜像拉取 [rootmaster ~]# cat nginx.yaml apiVersion: v1 kind: Pod metadata:name: mypod spec:containers:- name: nginximage: nginx:1.14imagePullPolicy: Always# IfNotPresent: 默认值&#xff0c…

CPO是啥?

CPO是啥? CPO通常是“Chief Product Officer”(首席产品官)的缩写,是企业高层管理团队中负责产品管理和战略规划的主要负责人。CPO通常负责制定公司的产品战略、管理产品组合、带领产品团队以及推动产品的创新和优化。他或她需要有…

引用类型的按值传递

按值传递时,传递过去的是该引用类型实例的引用的一个拷贝,这样说可能不是很清楚,而且容易引起误解。所谓引用,就是分配在栈上的一小块内存区域,里面存放着该引用类型实例在托管堆上的地址。引用类型在按值传递的时候&a…

CUDA学习笔记(十三) Shared Memory

CUDA SHARED MEMORY shared memory在之前的博文有些介绍,这部分会专门讲解其内容。在global Memory部分,数据对齐和连续是很重要的话题,当使用L1的时候,对齐问题可以忽略,但是非连续的获取内存依然会降低性能。依赖于…

codeshell安装配置

codeshell安装配置 1 注意事项1.1 Python版本问题 2 codeshell环境搭建2.1 codeshell使用软件各版本2.2 软件下载2.3 codeshell使用环境安装2.3.1 python-3.10.9-amd64.exe安装2.3.2 Anaconda3-2022.10-Windows-x86_64.exe安装2.3.3 创建环境2.3.4 Pytorch安装2.3.5 transforme…

C++中的多态以及如何实现多态(近万字图文详解)

C中的多态 1. 多态的概念1.1 概念 2. 多态的定义及实现2.1多态的构成条件(重点)2.2 虚函数2.3 虚函数的重写(重点)2.4 C11 override 和 final2.5 重载、覆盖(重写)、隐藏(重定义)的对比 3. 抽象类3.1 概念3.2 接口继承和实现继承 4. 多态的原理4.1虚函数…

MySQL1——喵喵期末不挂科

宝宝,你不点个赞吗?不评个论吗?不收个藏吗? 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要…

零代码编程:用ChatGPT多线程批量将PDF文档转换为word格式

pdf2docx是Python的一个库,可以很方便的将PDF文档转换为word格式,首先安装这个库。 然后在ChatGPT中输入提示词: 你是一个Python编程专家,要完成一个文档格式转换的任务,具体步骤如下: 打开F盘的Books文件…