一、Linux系统概述

(一)Linux系统概述

(二)Linux系统简介

        1.常见的Linux系统?

        2.Linux操作系统是操作系统的核心,也成为内核,内核的主要功能?

        3.shell是操作系统的外壳,主要作用?

二、shell

(一)常用的shell命令

        1.基本的shell命令

        2.文件查看命令

        3.通配符

        4.管道

        5.重定向

        6.文件查找命令

        7.常见命令

        8.压缩和解压命令

        9.用户管理命令

(二)shell脚本

        1.编程语言的分类

        2.shell脚本编译

三、IO

(一)概念

(二)文件

(三)标准IO

        1.概念:通常操作普通文件

        2.普通文件类型:ASCII、二进制

        3.标准IO的接口

        4.文件的打开

        5.标准IO的缓存

                ①概念

                ②缓存类型?

        6.流的定位

(四)文件IO

        1.概念:相比于标准IO(库函数),文件IO(系统调用)没有缓存,适合于通信、硬件设备操作

        2.系统调用与库函数

        3.文件IO函数接口

(五)目录IO

        1.操作方式

        2.函数接口

        3.文件名和路径

        4.时间相关的函数接口

                ①时间类型分类

                ②函数接口

四、进程和线程

(一)进程

        1.基本概念

        2.进程创建

                ①进程空间分布

                ②虚拟地址和物理地址

                ③多进程存储、存储方式?

                ④多进程调度

                ⑤进程相关的命令

                ⑥进程的状态

        3.进程相关函数接口

  • 创建:fork
  • 执行:exec
  • 结束:exit/_exit /return(main)

        4.进程消亡

                ①孤儿进程?

                ②僵尸进程:产生原因和如何避免?

                wait/waitpid

        5.exec函数族:利用进程空间执行另一份代码(父进程产生子进程,让子进程去送人头)

(二)线程

        1.基本概念

        2.进程和线程区别

        3.多进程和多线程的优缺点?

        4.线程的调度:宏观并行,微观串行?

        5.线程的消亡

        6.线程的函数接口

  • 创建:pthread_create
  • 执行:线程回调函数
  • 结束:pthread_exit / return / pthread_cancel/ //exit
  • 线程资源回收:pthread_detach
  • 分离属性和结合属性:pthread——join
  • 线程间(互斥+同步):pthread_nutex_t / pthread_sem_t

        7.线程的传参

        8.线程的属性:分离属性和加入属性

(三)线程间通信

        1.概念

        2.方式:因为有共享数据段,采用全区变量

        3.互斥锁:解决线程间资源竞争?

        4.死锁

        5.信号量?

(四)进程间通信

        1.概念:利用Linux内核实现多进程间通信

        2.进程间通信常用的方式

        3.管道:有名管道、无名管道

        4.信号:进程间任务事件的通知

        5.消息队列:IPC对象?

        6.共享内存:内核中开辟一段固定大小的内核空间、进程间通信的最高效形式

        7.信号灯:搭配共享内存使用

五、线程vs进程

一、进程和线程都是系统执行任务

        1.进程:资源分配的基本单位

        2.线程:cpu执行调度的最小单位

二、进程

        1.进程的创建和切换的开销大

        2.空间独立,安全、稳定

        3.进程间通信

三、线程

        1.线程的创建和切换的开销小

        2.线程共享进程资源方便

        3.线程间资源竞争(线程间同步互斥机制)

        

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

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

相关文章

【51单片机学习】直流电机驱动(PWM)、AD/DA、红外遥控(外部中断)

一、直流电机驱动(PWM)1.直流电机介绍步进电机的旋转速度完全由编码的通电时间决定的,可以用于精密控制。 舵机内部是一个直流电机加一个控制器,引出三根线,分别是正负极和编码线,根据输出电平的时间来控制…

ComfyUI Portrait Master肖像大师中文版

本文转载自:ComfyUI Portrait Master肖像大师中文版 - Hello123工具导航 ** 一、产品定位与技术架构 肖像大师中文版是专为 AI 绘画工具设计的提示词生成插件,通过结构化参数控制实现精准人物肖像生成。它基于 ComfyUI 平台开发,提供 193 国…

(Redis)内存淘汰策略

1. 为什么需要内存淘汰策略?Redis 是一个基于内存的高性能数据库,所有数据都存储在内存中。优点:读写速度极快。缺点:内存有限,存满之后如果继续写入,就必须有一套策略来决定“删掉谁,留下谁”。…

Eclipse 里Mybatis的xml的头部报错

需要进行Eclipse 配置 MyBatis 的DTD文件Window -> Preference -> Maven -> 勾选 (download artifact javadoc).

SpringBoot Web快速入门_从零搭建你的第一个Web应用

在 Java 企业级开发领域,SpringBoot 以其 “约定优于配置” 的理念彻底革新了传统 Spring 应用的开发模式。根据 2023 年 JetBrains 开发者调查报告,超 65% 的 Java 开发者将 SpringBoot 选为 Web 开发的首选框架。其优势显著:快速启动&#…

手持 Mid360 + RealSense 相机 + Jetson Orin 一体平台

这篇博客是我们开源的一个项目介绍,包括3D结构件 STP 文件与常见 SLAM 工程在 Arm 设备上编译手册等,将 Livox Mid360、Realsense 相机、Nvidia Jetson Orin、定制电池放在了一个手持设备上,同时这个手持设备预留了底部螺纹孔,当你…

H7-TOOL固件2.31发布,支持250M示波器,支持IAR下载算法加载运行,上位机支持UTF-8编码,增加多款脱机烧录芯片支持

【PC软件】V2.3.1 1. 脱机烧录功能更新: - 添加芯片: - 自动填充文件名、Flash地址、Flash大小、SRAM地址和SRAM大小 - FLM算法文件不支持自动填写文件名,当生成文件后需要手动更新 - 厂商列表栏鼠标右键菜单可复制厂商名 - 修复添加芯片排列次序的问题…

自然语言处理——06 迁移学习(上)

1 fasttext工具介绍 1.1 介绍 fasttext 是 Facebook AI Research(FAIR)开发的开源 NLP 工具包,专门用来解决文本相关任务,比如情感分析、文本分类(判断新闻属于体育/财经等)、识别“人名/地名”这类实体&a…

数据库MVCC是什么

问题数据库MVCC是什么我的回答MVCC,全称是"多版本并发控制"(Multi-Version Concurrency Control),是数据库管理系统中常用的一种并发控制技术。说白了,它就是通过维护数据的多个版本,让读操作不会被写操作阻塞&#xff…

游戏广告投放数据分析项目:拆解投放的“流量密码”

用数据说话:1441条投放记录拆解游戏广告投放的“流量密码”一、数据概况 & 处理思路 先放一张数据全家福,字段 13 个,样本 1441 条,缺失值 0,只做了一件事:把“未知大小”“无”等脏数据清洗掉。 impor…

数据库服务语句应用

文章目录🌟数据库语句应用介绍🍀数据库语句分类介绍DDL(Data Definition Language)数据定义语言DCL(Data Control Language)数据控制语言DML(Data Manipulation Language)数据操作语…

解释器模式与布尔表达式的C++实现

详细探讨一下解释器模式(Interpreter Pattern)以及如何使用它来实现一个简单的布尔表达式求值器。 第一部分:解释器模式详解 1. 模式定义与意图 解释器模式是一种行为设计模式,它给定一个语言,定义其文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中…

ELK 重难点解析以及最佳实践

ELK 重难点解析以及最佳实践 目录 ELK简介核心组件详解使用技巧重难点解析Spring Boot集成具体场景使用最佳实践 ELK简介 什么是ELK ELK是一个开源的日志分析平台,由三个核心组件组成: Elasticsearch: 分布式搜索引擎,用于存储和检索日…

【PyTorch】单对象分割项目

对象分割是在图像中找到目标对象的边界的过程。单目标分割的重点是自动勾勒出图像中一个目标对象的边界。对象边界通常由二进制掩码定义。 通过二进制掩码,可以在图像上覆盖轮廓以勾勒出对象边界。例如以下图片描绘了胎儿的超声图像、胎儿头部的二进制掩码以及覆盖在…

esp dl

放下了好多年 又回到了dl 该忘的也忘的差不多了 其实没啥复杂的 只是不习惯 熟悉而已 好吧 现代的人工智能体 还是存在着很大的问题 眼睛 耳朵 思考 虽然功能是正常的 但距离"真正"()意思上的独立意识个体 还是差别很大 再等个几十年 看看…

基于django/python的服装销售系统平台/服装购物系统/基于django/python的服装商城

基于django/python的服装销售系统平台/服装购物系统/基于django/python的服装商城

详解ThreadLocal<HttpServletRequest> requestThreadLocal

public static ThreadLocal<HttpServletRequest> requestThreadLocal ThreadLocal.withInitial(() -> null);一、代码逐部分详解 1. public static public&#xff1a;表示这个变量是公开的&#xff0c;其他类可以访问。static&#xff1a;表示这是类变量&#xff0c…

Vue2 响应式系统设计原理与实现

文章目录Vue2 响应式系统设计原理与实现Vue2 响应式系统设计原理与实现 Vue2 的响应式原理主要基于以下几点&#xff1a; 使用 Object.defineProperty () 方法对数据对象的属性进行劫持 当数据发生变化时&#xff0c;通知依赖该数据的视图进行更新 实现一个发布 - 订阅模式&a…

探索 JUC:Java 并发编程的神奇世界

探索 JUC&#xff1a;Java 并发编程的神奇世界 在 Java 编程领域&#xff0c;随着多核处理器的普及和应用场景复杂度的提升&#xff0c;并发编程变得愈发重要。Java 并发包&#xff08;JUC&#xff0c;Java.util.concurrent&#xff09;就像是一座宝藏库&#xff0c;为开发者提…

selenium采集数据怎么应对反爬机制?

selenium是一个非常强大的浏览器自动化工具&#xff0c;通过操作浏览器来抓取动态网页内容&#xff0c;可以很好的处理JavaScript和AJAX加载的网页。 它能支持像点击按钮、悬停元素、填写表单等各种自动化操作&#xff0c;所以很适合自动化测试和数据采集。 selenium与各种主流…