震惊!!!原来这就是操作系统

震惊!!!原来这就是操作系统

  • 一:什么是操作系统
    • 1:管理
    • 2:操作系统的组成
  • 二:进程:
    • 1:概念
    • 2:进程的管理方式
      • 2.1:描述
      • 2.2:组织

一:什么是操作系统

CPU,内存,硬盘…这些都是硬件,而操作系统就是软件,可以让计算机按照一定的规则进行执行.
软件是一组指令的集合,

1:管理

**操作系统的核心就是为了管理,**能够管理好各种硬件资源,让他们能很好的配合;也需要管理好各种软件资源,让每个软件都提供良好的运行环境,也要管理好硬件与软件之间的配合.

2:操作系统的组成

可以简单的理解为:操作系统由内核和配套的应用程序组成.
**内核:**是操作系统最核心的部分,管理都是在内核里完成的.
操作系统的内核:会给应用程序提供一系列的API(有的API是操作显示器的,有的API是用来响应鼠标键盘的…)
配套的应用程序:画图板,qq音乐,qq,微信…
(往往需要靠内核提供一些功能作为支撑)
举例:

System.out.println("hello world");

对于上面的代码来说:
1:应用程序执行println,调用系统提供的API;
2:操作系统 内核里,感知到要执行操作显示器的行为;
2:操作系统内核,通过驱动程序,找到对应的硬件设备(显示器),并且执行"显示字符串"操作.

二:进程:

1:概念

一个程序,**运行起来/跑起来(**双击快捷方式,开始开单中的单击选项…),在操作系统中,就会出现一个进程.
当然除了自己运行的程序,系统自带的/安装的程序也是进程.
而要想让一个程序运行,就必须得给这个进程分配系统资源
系统资源包括:CPU,内存,硬盘,显卡等
进程可以认为是操作系统进行资源分配的基本单位
当我们查看任务管理器的时候,就会看到许多的进程,这么多的进程,就需要一个有效的管理.

2:进程的管理方式

一般采取先描述,再组织的方式对进程进行管理

2.1:描述

通过一些结构体/类,把一个进程的核心信息,抽取出来,并进行表示.
在操作系统中,通常使用PCB(进程控制块)这样的结构体来描述进程的.

2.2:组织

通过多条链表,把结构体(PCB)/类串起来,方便进行各种增删改查.
1:任务管理器中查看进程列表:
在遍历链表的每个节点,并且获取显示出对应的信息.
2:创建新的进程:
新的进程创建出一个对应的新的PCB,并且添加到链表中.
3:销毁某个进程(某个程序退出):
要把链表上对应的PCB节点删除掉.
例如:双击一个pdf文件,就打开一个进程
本质上:文件资源管理器(应用程序)感知到鼠标的双击操作,然后就会调用操作系统踢狗的API,在内核中创建一个进程(创建PCB,插入链表).

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

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

相关文章

flask之请求钩子

请求钩子是通过装饰器的形式实现,Flask支持如下四种请求钩子: 1、before_first_request: 在第一次请求处理之前先被执行 2、before_request: 在每次请求前执行 3、after_request: 在每次请求处理之后被执行 接受一个参数:视图函数的响应在…

[力扣 129]求根节点到叶节点之和

题目描述: 思路: 可以采用递归回溯。递归访问左->右->根节点并记录路径。到叶节点后,计算数字并相加。 代码: class Solution:def sumNumbers(self, root: TreeNode) -> int:res 0path []def backtrace(root):nonl…

Python如何行转列代码

在Python中,如果你想要对数据框(DataFrame)中的某一列进行操作,你可以使用Pandas库,这是处理数据时常用的一个库。以下是一个简单的例子,展示了如何对DataFrame中的某一列进行操作: 首先&#…

anuglar中获取iframe对象, 用iframe进行postMessage通信

如果你想在 Angular 中获取 iframe 对象并确保 iframe 加载完成后调用 postMessage 发送消息,可以按照以下步骤进行操作: 在 HTML 模板中,使用 ngIf 来控制 iframe 的显示与隐藏,并为 iframe 添加一个标识符(例如 #my…

ISBN号码

题目描述 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 99 位数字、11 位识别码和 33 位分隔符,其规定格式如 x-xxx-xxxxx-x,其中符号 - 就是分隔符(键盘上的减号),最后一位是识别码&…

Autosar Crypto Driver学习笔记(二)

文章目录 Crypto DriverFunction definitionsGeneral APICrypto_InitCrypto_GetVersionInfo Job Processing InterfaceCrypto_ProcessJob Job Cancellation InterfaceKey Management InterfaceKey Setting Interface密钥设置接口Crypto_KeyElementSetCrypto_KeySetValid Key Ex…

【GameFramework框架内置模块】11、网络(Network)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录:…

10 封装dml,dql

将xxx_xxx的形式转换为小驼峰 param column 获得的sql中的列名 return 小驼峰的形式的属性名 处理dml 处理dml package com.aistart.tech.utils;import java.lang.reflect.Field; import java.sql.*; import java.util.ArrayList; import java.util.List;public class BaseDao …

RabbitMQ集群部署

集群部署 我们看看如何安装RabbitMQ的集群。 1.集群分类 在RabbitMQ的官方文档中,讲述了两种集群的配置方式: 普通模式:普通模式集群不进行数据同步,每个MQ都有自己的队列、数据信息(其它元数据信息如交换机等会同…

2024年高压电工证模拟考试题库及高压电工理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年高压电工证模拟考试题库及高压电工理论考试试题是由安全生产模拟考试一点通提供,高压电工证模拟考试题库是根据高压电工最新版教材,高压电工大纲整理而成(含2024年高压电工证…

消防游戏演练,消防科普游戏开发

当今社会,消防安全意识日益受到重视。在这样的背景下,开发一款消防演练游戏不仅能够为人们提供娱乐,更重要的是可以教育玩家正确应对火灾等紧急情况的方法和技能。下面将详细介绍开发消防演练游戏的步骤和关键考虑因素。 游戏概念和设计 消…

【Leetcode每日一题】 递归 - Pow(x, n)(难度⭐⭐)(40)

1. 题目解析 题目链接:50. Pow(x, n) 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 在这个算法中,递归函数的任务是求出 x 的 n 次方。那么,这个函数是怎么工作的呢?它…

es 集群核心概念以及实践

节点概念: 节点是一个Elasticsearch的实例 本质上就是一个JAVA进程一台机器上可以运行多个Elasticsearch进程,但是生产环境一般建议一台机器上只运行一个Elasticsearch实例 每一个节点都有名字,通过配置文件配置,或者启动时候 -…

Android Zygote的面试问题

问题: 什么是Zygote进程在Android系统中的作用? 答案: Zygote是Android系统中的一个核心进程,它的主要作用是作为系统启动和Android应用程序进程的母进程。Zygote预加载了Android框架层和核心库,通过复制自身创建新的应…

软件工程-第5章 结构化设计

5.1 总体设计的目标及其表示方法 5.2 总体设计 变换设计基本步骤: 第1步:设计准备--复审并精华系统模型; 第2步:确定输入、变换、输出这三部分之间的边界; 第3步:第一级分解--系统模块结构图顶层和第一层…

安卓面试题多线程 116-120

116. 简述多线程同步和互斥有几种实现方法,都是什么 ?线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。 线程互斥是指对于共享的进程系统资源,在各单个线程访问时的排它性…

产品软文怎么写?媒介盒子分享公式

软文写出来的目的除了提高品牌知名度外,还需要推广产品,当企业新品上市、推广产品以及营销产品的时候,就需要产品类软文出手。然而产品软文想要写好还需要一定的技巧,今天媒介盒子就来和大家分享:产品软文写作公式。 一…

【C++】每日一题 56 合并区间

以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 #include <iostream> #include <vector> #…

【详细讲解如何快速上手Vue.js框架】

如何快速上手Vue.js框架 1. 前言2. 理解Vue.js的核心概念3. 搭建开发环境4. 创建第一个项目5. 学习基础6. 进阶概念7. 最佳实践和模式8. 构建和部署9. 持续学习10. 实际操作 &#x1f308;&#x1f308;&#x1f308;欢迎 &#x1f308;&#x1f308;&#x1f308; &#x1f38…

谷歌搜索技巧

搜技术书籍pdf&#xff1a; xxx书: filetype:pdf 搜电影&#xff1a; 周处除杀害:torrent 搜图片&#xff1a; 狗: 500X500 即可找到相关分辨率大小的&#x1f436;图 平常搜索 一般为浅搜索&#xff0c;加上引号 为 高精度搜索/深度搜索 年份搜索&#xff1a; 在问题的后面…