操作系统(1)——学习导论(Ⅲ)

news2024/11/18 19:37:10

目录

  • 小程一言
    • 专栏链接: [link](http://t.csdnimg.cn/6grrU)
    • 本篇文章因内容需要,且依靠书中内容达不到小程想要的效果,so部分内容依赖其他网络资源
  • 学习导论(Ⅲ)
    • 操作系统相关概念
      • 进程——Process
      • 线程——Thread
      • 调度——Scheduling
      • 内存管理——Memory Management
      • 地址空间——Address space
      • 文件系统——File System
      • 设备管理——Device Management
      • 中断——Interrupt
      • 虚拟化——Virtualization
      • shell

小程一言

本操作系统专栏,是小程在学操作系统的过程中的第一步,是在学习操作系统的笔记的前提下,加上自己的心得,以及资料的搜集,共同整合而成。小程在学习过程中,难免疏漏,希望各位前辈批评指正。

主要参考书籍:现代操作系统
书中内容有些生硬,so小程参考其他书籍内容进行了一些加工
这本书饱受诟病的原因是流传思想有些过时,但是计算机有过时的思想吗?,底层逻辑的稳定是整个计算机的基石。现在的所有思想都是在基石之上。

面向群体:在校大学生,想要补齐基础知识短板的在职人员

专栏链接: link

本篇文章因内容需要,且依靠书中内容达不到小程想要的效果,so部分内容依赖其他网络资源

在这里插入图片描述

学习导论(Ⅲ)

操作系统相关概念

操作系统是计算机系统中的核心软件,负责管理和控制计算机硬件资源,并为用户程序提供一个简单的、统一的接口。操作系统涉及到许多重要的概念,下面给大家举例解释一下。
在这里插入图片描述

进程——Process

进程是程序的执行实例,是操作系统中资源分配的基本单位。每个进程都有自己的内存空间、代码、数据和运行时环境。
在操作系统中,进程是指正在运行的程序的实例。每个进程都有自己的内存空间、代码、数据和执行状态。操作系统通过进程管理来控制和协调多个进程的执行,确保它们能够正确地共享计算机系统的资源。

  1. 进程控制块(PCB):每个进程都有一个对应的进程控制块,用于存储进程的相关信息,包括进程的状态、程序计数器、内存分配情况、打开的文件等。操作系统通过管理进程控制块来管理和调度进程。

  2. 进程状态:进程可以处于不同的状态,常见的状态包括就绪态(Ready)、运行态(Running)、阻塞态(Blocked)等。操作系统通过调度算法将进程从一个状态切换到另一个状态,以实现进程的并发执行。

  3. 进程调度:进程调度是操作系统的核心功能之一,它决定了哪个进程在什么时候执行。常见的调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、轮转调度(Round Robin)等。

  4. 进程同步与通信:在多进程环境下,进程之间可能需要进行同步和通信,以避免竞态条件和数据不一致性问题。操作系统提供了各种机制来实现进程之间的同步与通信,如信号量、互斥锁、消息队列等。

  5. 进程间通信(IPC):进程间通信是指不同进程之间进行数据交换和信息传递的过程。常见的IPC方式包括管道(Pipe)、套接字(Socket)、共享内存(Shared Memory)等。

  6. 进程调度器:进程调度器是操作系统中负责决定哪个进程在何时执行的组件。调度器根据调度算法选择下一个要执行的进程,以实现进程的合理调度和资源分配。

总的来说,操作系统中的进程是指正在运行的程序的实例,操作系统通过进程管理来控制和协调多个进程的执行。了解进程在操作系统中的概念和工作原理对于理解操作系统的设计和实现非常重要。
在这里插入图片描述

线程——Thread

线程(Thread)是比进程更小的执行单元,是进程中的实际执行单位。一个进程可以包含多个线程,这些线程共享进程的资源,如内存空间、文件描述符等。线程之间可以更方便地进行通信和共享数据,同时也更高效地利用系统资源。以下是关于操作系统中线程的一些重要概念:

  1. 线程与进程的区别

    • 进程是程序的一次执行,拥有独立的地址空间和资源,而线程是进程中的实际执行单元,共享进程的资源。
    • 线程之间共享进程的内存空间,可以更方便地进行通信和数据共享,而进程之间通信需要额外的机制。
    • 创建和销毁线程的开销比创建和销毁进程小,线程的切换开销也比进程小,因此多线程程序通常更高效。
  2. 线程调度:线程调度是操作系统的重要功能之一,决定了哪个线程在什么时候执行。操作系统通过调度算法来决定线程的执行顺序,常见的调度算法包括抢占式调度和协作式调度。

  3. 用户级线程和内核级线程

    • 用户级线程是由用户空间的线程库管理的线程,内核并不知道其存在,因此线程切换时不需要进入内核态。
    • 内核级线程是由操作系统内核管理的线程,线程的创建、销毁和切换都需要内核的参与。
  4. 线程同步与通信:多个线程之间可能会同时访问共享的资源,为了避免竞态条件和数据不一致性问题,需要进行线程同步和通信。常见的同步机制包括互斥锁、条件变量、信号量等。

  5. 线程池:线程池是一种管理和复用线程的机制,通过预先创建一组线程并维护一个任务队列,可以减少线程的创建和销毁开销,提高系统的性能和资源利用率。

总的来说,线程是操作系统中比进程更小的执行单元,多线程编程可以提高系统的并发性能和资源利用率。了解线程在操作系统中的概念和工作原理对于编写高效的多线程程序非常重要。

调度——Scheduling

调度是指操作系统决定哪个进程或线程在何时执行的过程。调度器是操作系统中负责调度的组件,其主要目标是提高系统的性能、资源利用率和响应速度。以下是关于操作系统中调度的一些重要概念:

  1. 调度算法:调度算法是决定进程或线程执行顺序的方法。常见的调度算法包括:

    • 先来先服务(FCFS):按照进程到达的顺序进行调度。
    • 最短作业优先(SJF):选择执行时间最短的进程先执行。
    • 优先级调度:根据进程的优先级来决定执行顺序。
    • 轮转调度(Round Robin):按照时间片轮转的方式进行调度。
    • 多级反馈队列调度:根据进程的优先级和响应时间来决定执行顺序。
  2. 调度策略:调度策略是指操作系统选择调度算法的具体方式。不同的应用场景和系统需求可能需要不同的调度策略,如实时系统需要保证任务的及时响应,而服务器系统需要提高吞吐量和性能。

  3. 调度器类型:根据调度器的位置和作用范围,可以分为:

    • 全局调度器:负责整个系统中所有进程的调度。
    • 局部调度器:负责特定资源或设备的调度,如磁盘调度器、网络调度器等。
  4. 调度过程:调度过程包括选择下一个要执行的进程、切换上下文、更新进程状态等步骤。调度过程需要考虑进程的优先级、等待时间、资源需求等因素。

  5. 调度器实现:调度器的实现可以通过硬件支持(如定时器中断)、软件实现(如操作系统内核)或两者结合来完成。

总的来说,调度是操作系统中重要的功能之一,通过合理的调度算法和策略可以提高系统的性能和资源利用率。了解调度在操作系统中的概念和原理对于设计和优化系统具有重要意义。
在这里插入图片描述

内存管理——Memory Management

内存管理是指操作系统管理计算机内存资源的过程,包括内存分配、内存回收、地址转换、内存保护等功能。以下是内存管理在操作系统中的一些重要概念:

  1. 内存分区:内存通常被划分为若干个固定大小的区域,每个区域称为一个内存分区。常见的内存分区包括操作系统区、用户程序区等。

  2. 内存分配:内存分配是指为进程分配内存空间的过程。常见的内存分配算法包括:

    • 连续内存分配:将内存分为若干连续的区域,为进程分配连续的内存空间。
    • 分页内存分配:将内存分为固定大小的页,进程的内存空间被划分为若干页,可以非连续地分配。
    • 分段内存分配:将进程的内存空间划分为若干段,每个段可以有不同的长度,可以灵活地分配内存。
  3. 地址转换:地址转换是将逻辑地址(进程中使用的地址)转换为物理地址(实际的内存地址)的过程。地址转换可以通过页表、段表等数据结构来实现。

  4. 内存回收:内存回收是指当进程终止或释放内存时,将其占用的内存空间释放给系统以便其他进程使用。内存回收可以通过垃圾回收算法、内存重用等方式来实现。

  5. 虚拟内存:虚拟内存是一种扩展内存的技术,将磁盘空间作为辅助存储器,将部分进程的内存空间存放在磁盘上,可以有效扩大可用内存空间。

  6. 内存保护:内存保护是指通过硬件和软件机制来保护进程的内存空间不被非法访问,防止进程之间相互干扰。

总的来说,内存管理是操作系统中重要的功能之一,合理的内存管理可以提高系统的性能、安全性和稳定性。了解内存管理在操作系统中的概念和原理对于设计和优化系统具有重要意义。
在这里插入图片描述

地址空间——Address space

在操作系统中,地址空间是指每个进程所能访问的内存范围,包括代码段、数据段、堆段和栈段。以下是关于地址空间的一些重要概念:

  1. 逻辑地址空间:也称为虚拟地址空间,是进程在运行时使用的地址空间。逻辑地址是由进程中的程序生成的,通常是连续的地址空间,从0开始递增。

  2. 物理地址空间:是指计算机的实际内存空间,是存储器中的物理位置。操作系统通过地址转换将进程的逻辑地址映射到物理地址上。

  3. 代码段:存放程序执行的指令,通常是只读的,用于存放程序的可执行代码。

  4. 数据段:存放程序中的全局变量和静态变量,通常是可读写的。

  5. 堆段:用于动态内存分配,程序可以在堆中动态分配和释放内存。

  6. 栈段:用于存放函数调用的参数、局部变量和函数返回地址等信息,栈是一种后进先出(LIFO)的数据结构。

  7. 地址空间布局:不同的操作系统可能有不同的地址空间布局,包括代码段、数据段、堆段和栈段的放置顺序和大小。

  8. 地址空间划分:操作系统为每个进程分配独立的地址空间,使得每个进程在运行时都认为自己拥有整个系统的内存资源。

  9. 地址空间隔离:地址空间隔离是指不同进程的地址空间是相互隔离的,一个进程无法直接访问另一个进程的地址空间。

地址空间的管理和划分是操作系统中重要的功能之一,合理的地址空间设计可以提高系统的安全性和稳定性。了解地址空间在操作系统中的概念和原理对于设计和优化系统具有重要意义。
在这里插入图片描述

文件系统——File System

文件系统是用于管理存储设备上文件和目录的一种机制。文件系统提供了对文件的创建、读取、写入、删除和修改等操作,同时也管理文件的存储和组织。以下是关于文件系统的一些重要概念:

  1. 文件:文件是数据的集合,可以是文本文件、图像文件、音频文件等。文件系统通过文件名和扩展名来标识文件,并通过文件描述符来管理文件的属性和位置。

  2. 目录:目录是文件系统中用于组织和管理文件的结构,可以包含文件和其他目录。目录可以形成层次结构,方便用户对文件进行组织和查找。

  3. 文件系统结构:文件系统通常由文件控制块(FCB)、索引节点(inode)、目录项等数据结构组成,用于管理文件的元数据和数据块的映射关系。

  4. 文件访问方式:文件系统支持随机访问和顺序访问两种方式。随机访问可以直接跳转到文件的任意位置读写数据,而顺序访问则需要按顺序逐个读取或写入。

  5. 文件权限:文件系统可以通过权限控制来限制用户对文件的访问权限,包括读取、写入和执行权限等。

  6. 文件系统操作:文件系统提供了一系列API(应用程序接口)供应用程序和用户进行文件操作,如打开文件、关闭文件、读取文件、写入文件等。

  7. 磁盘空间管理:文件系统负责管理磁盘上的空间分配和释放,以确保文件能够被正确存储和访问。

  8. 文件系统类型:常见的文件系统类型包括FAT、NTFS、ext4、APFS等,不同的文件系统有不同的特点和适用场景。

文件系统是操作系统中重要的组成部分,它使得用户能够方便地管理和操作文件。合理的文件系统设计可以提高系统的性能和可靠性,同时保护文件的安全性和完整性。了解文件系统在操作系统中的概念和原理对于设计和优化系统具有重要意义。
在这里插入图片描述

设备管理——Device Management

设备管理是指操作系统如何管理计算机系统中的各种硬件设备,包括输入设备、输出设备、存储设备、通信设备等。设备管理的主要任务是对设备进行初始化、分配、控制和释放,以便应用程序能够与设备进行有效的交互。以下是设备管理中的一些重要概念:

  1. 设备驱动程序:设备驱动程序是连接操作系统和硬件设备之间的软件接口,负责控制设备的操作和与设备进行通信。每种设备都需要相应的设备驱动程序来实现对设备的管理和控制。

  2. 设备控制块:设备控制块(DCB)是操作系统中用于管理设备的数据结构,包含了设备的状态、寄存器信息、缓冲区等,用于协调设备的访问和操作。

  3. 设备分配:设备管理需要对设备进行分配,确保多个应用程序可以共享设备资源而不发生冲突。设备分配通常通过设备控制块和设备队列来实现。

  4. 设备中断:设备管理需要处理设备的中断请求,当设备完成一个操作或发生错误时,会向操作系统发出中断信号,操作系统需要及时响应中断并进行相应的处理。

  5. 设备状态管理:设备管理需要监控和管理设备的状态,包括设备是否空闲、设备是否处于忙状态、设备是否出现故障等,以便合理地调度设备的使用。

  6. 设备虚拟化:设备管理可以通过设备虚拟化技术将物理设备抽象为虚拟设备,使得多个虚拟机或容器可以共享同一物理设备,提高系统资源利用率。

  7. 设备性能优化:设备管理需要考虑如何优化设备的性能,包括设备的调度算法、缓存管理、异步操作等,以提高设备的利用率和系统的整体性能。

设备管理是操作系统中重要的功能之一,它负责协调和管理计算机系统中各种硬件设备的访问和操作,确保应用程序能够正常使用设备并提高系统的可靠性和性能。了解设备管理在操作系统中的概念和原理对于设计和优化系统具有重要意义。
在这里插入图片描述

中断——Interrupt

在操作系统中,中断是一种机制,用于处理硬件设备发出的信号或事件,以及应用程序请求操作系统服务的情况。中断可以打破正常的程序执行流程,立即转移到中断服务程序中进行处理。以下是关于中断的一些重要概念:

  1. 中断类型:在操作系统中有多种类型的中断,包括外部中断(由硬件设备触发,如时钟中断、IO设备中断)、内部中断(由CPU执行指令触发,如除零错误、非法指令)、软中断(由应用程序请求操作系统服务触发)等。

  2. 中断向量:每种中断类型都有一个唯一的中断向量号,操作系统通过中断向量号来确定中断的类型,然后转移到相应的中断处理程序。

  3. 中断处理程序:中断处理程序是操作系统中用于处理中断的代码段,它负责根据中断类型执行相应的处理逻辑,包括保存现场、处理中断事件、恢复现场等。

  4. 中断向量表:中断向量表是一个数据结构,存储了不同中断类型对应的中断处理程序的入口地址,当中断发生时,操作系统会根据中断向量号在中断向量表中查找对应的中断处理程序。

  5. 中断屏蔽:操作系统可以通过中断屏蔽机制来控制哪些中断可以被处理,哪些中断需要被忽略。通过中断屏蔽,可以提高系统的稳定性和效率。

  6. 中断处理流程:中断处理的基本流程包括中断触发、CPU保存现场、中断处理程序执行、中断处理完成、CPU恢复现场、恢复正常执行流程。

  7. 中断优先级:不同中断类型可能有不同的优先级,操作系统需要根据中断优先级来决定哪个中断应该被优先处理。

中断是操作系统中实现多任务处理和硬件设备管理的重要机制,它可以提高系统的响应速度和效率,同时保证系统的稳定性和可靠性。了解中断在操作系统中的概念和原理对于设计和优化系统具有重要意义。
在这里插入图片描述

虚拟化——Virtualization

虚拟化是一种技术,可以将物理资源(如处理器、内存、存储、网络等)抽象为虚拟资源,从而实现多个虚拟环境共享同一物理资源的目的。虚拟化技术在操作系统中有多种应用,包括:

  1. 硬件虚拟化:硬件虚拟化是将物理服务器的处理器、内存、磁盘等硬件资源虚拟化,使得多个虚拟机可以在同一台物理服务器上运行,每个虚拟机拥有独立的操作系统和应用程序。常见的硬件虚拟化技术包括VMware、Hyper-V、KVM等。

  2. 存储虚拟化:存储虚拟化是将多个物理存储设备整合为一个逻辑存储池,通过虚拟化技术管理和分配存储资源,提高存储资源的利用率和灵活性。存储虚拟化可以实现数据的快速备份、迁移和恢复。

  3. 网络虚拟化:网络虚拟化是将物理网络设备(如交换机、路由器)虚拟化,使得多个虚拟网络可以在同一物理网络上运行,提高网络资源的利用率和灵活性。网络虚拟化可以实现虚拟局域网(VLAN)、虚拟私有网络(VPN)等功能。

  4. 应用程序虚拟化:应用程序虚拟化是将应用程序和其依赖的运行环境打包成容器,实现应用程序的隔离和快速部署。常见的应用程序虚拟化技术包括Docker、Kubernetes等。

虚拟化技术在操作系统中的应用可以提高系统资源的利用率、灵活性和可靠性,同时降低系统维护和管理的成本。了解虚拟化在操作系统中的概念和原理对于设计和部署虚拟化环境具有重要意义。
在这里插入图片描述

shell

在操作系统中,Shell(壳)是用户与操作系统内核进行交互的界面,用户可以通过Shell来输入命令并与操作系统进行通信。Shell接收用户输入的命令,解释并执行这些命令,然后将结果输出给用户。Shell是操作系统中的一个重要组成部分,它提供了用户友好的命令行界面,使用户能够方便地与操作系统进行交互。

以下是Shell的一些重要特点和功能:

  1. 命令解释器:Shell是一个命令解释器,它能够解释用户输入的命令,并将这些命令转换成操作系统内核能够理解的形式,然后执行这些命令。

  2. 脚本编程:Shell还可以用于编写脚本程序,用户可以将一系列命令组合在一起,形成一个脚本文件,然后通过Shell来执行这个脚本文件。

  3. 环境控制:Shell可以控制用户的工作环境,例如设置环境变量、切换工作目录、管理进程等。

  4. 通配符和重定向:Shell支持通配符(如*、?)和重定向(如>、<),用户可以使用这些功能来操作文件和输入输出流。

  5. 管道:Shell支持管道操作符(|),用户可以将多个命令连接在一起,实现命令之间的数据传输。

在不同的操作系统中,可能会有不同的Shell实现,比较常见的包括:

  • Bash:Bash是Unix和Linux系统中最常用的Shell,具有丰富的功能和强大的脚本编程能力。
  • Zsh:Zsh是一个功能更加强大的Shell,提供了更多的特性和定制选项。
  • PowerShell:PowerShell是Windows系统中的Shell,具有面向对象的特性和强大的脚本编程功能。

总的来说,Shell在操作系统中扮演着重要的角色,为用户提供了一个灵活、强大的命令行界面,使用户能够方便地管理和控制操作系统。对Shell的熟练掌握对于操作系统的使用和管理非常有帮助。

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

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

相关文章

【漏洞复现】Linksys E2000 position.js 身份验证绕过漏洞(CVE-2024-27497)

0x01 产品简介 Linksys E2000是一款由思科&#xff08;Cisco&#xff09;品牌推出的无线路由器&#xff0c;它是一款支持2.4GHz和5GHz双频段的无线路由器&#xff0c;用户可以避开拥挤的2.4GHz频段&#xff0c;独自享受5GHz频段的高速无线生活。 0x02 漏洞概述 Linksys E200…

编译Linux内核并修改版本号后缀为学号-Ubuntu22.04中编译安装Linux内核6.7.8

前言&#xff1a;实验课要求下载最新版本Linux内核并修改版本号&#xff0c;本人在Vmware中Ubuntu22.04中实现&#xff0c;花三天时间查阅大量网站资料。记录一下误打误撞成功的过程&#xff0c;希望对你们有帮助。 目录 一、常规安装步骤&猜想Ubuntu与gcc版本过低 二、安…

docker总结,一套搞定,常用命令,项目部署,jar包打包成镜像/容器

docker 归总 一、学习路线 1、学习视频&#xff08;黑马程序员&#xff09; &#xff08;https://www.bilibili.com/video/BV1HP4118797/?spm_id_from333.1007.top_right_bar_window_history.content.click&vd_source6acc7ed97919d92de048f2b1e5803427&#xff09; 2、…

python爬虫反反爬之图片验证

文章目录 发现宝藏一、ddddOcr&#xff08;针对图形验证码&#xff09;1. 工具介绍2. 安装及环境支持3. 识别示例14. 识别示例2 二、Tesseract&#xff08;标准OCR识别&#xff09;1. 工具介绍2. 配置系统环境3. 识别示例14. 识别示例23. 识别示例3 发现宝藏 前些天发现了一个…

C++ 队列

目录 队列的应用场景 1、429. N 叉树的层序遍历 2、 103. 二叉树的锯齿形层序遍历 3、662. 二叉树最大宽度 4、515. 在每个树行中找最大值 队列的应用场景 广度优先搜索&#xff08;BFS&#xff09;&#xff1a;队列是广度优先搜索算法的核心数据结构。在BFS中&#xff…

如何将应用一键部署至多个环境?丨Walrus教程

在 Walrus 平台上&#xff0c;运维团队在资源定义&#xff08;Resource Definition&#xff09;中声明提供的资源类型&#xff0c;通过设置匹配规则&#xff0c;将不同的资源部署模板应用到不同类型的环境、项目等。与此同时&#xff0c;研发人员无需关注底层具体实现方式&…

Redis精讲

redis持久化 RDB方式 Redis Database Backup file (redis数据备份文件), 也被叫做redis数据快照. 简单来说就是把内存中的所有数据记录到磁盘中. 快照文件称为RDB文件, 默认是保存在当前运行目录. [rootcentos-zyw ~]# docker exec -it redis redis-cli 127.0.0.1:6379> sav…

02- 使用Docker安装RabbitMQ

使用Docker安装RabbitMQ 下载安装镜像 方式一: 启动docker服务,然后在线拉取 # 在线拉取镜像 docker pull rabbitmq:3-management# 使用docker images查看是否已经成功拉取方式二: 从本地加载 ,将RabbitMQ上传到虚拟机中后使用命令加载镜像即可 docker load -i mq.tar启动M…

你必须要知道外贸独立站的那些事

导语 独立站&#xff0c;顾名思义就是具有独立域名的网站。对于跨境电商来说&#xff0c;独立站就是让他们脱离第三方束缚的一个平台。 简单来说就是自己建立一个属于自己的电商平台&#xff0c;然后上传商品出售&#xff0c;但是需要自己去做营销、做推广。 一、自建独立站的好…

运维工具之ventoy安装及使用简介

一、Ventoy简介 简单来说&#xff0c;Ventoy是一个制作可启动U盘的开源工具。有了Ventoy你就无需反复地格式化U盘&#xff0c;你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件直接拷贝到U盘里面就可以启动了&#xff0c;无需其他操作。你可以一次性拷贝很多个不同类型的镜像文…

Redis核心数据结构之跳跃表

跳跃表 概述 跳跃表(skiplist)是一种有序数据结构&#xff0c;它通过在每个节点中维持多个指向其他节点的指针&#xff0c;从而达到快速访问节点的目的。跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找&#xff0c;还可以通过顺序性操作来批量处理节点。在大部分情况下&am…

基于PHP构建的HTML5点餐系统的设计13.91

随着互联网时代的发展&#xff0c;人们的生活方式正在发生改变。传统的餐饮行业也正在发生变革。人们不再满足过去的点餐方式&#xff0c;需要更好的体验。本课题旨在结合点餐系统的技术优势&#xff0c;设计一个能够方便顾客与商家&#xff0c;并且节约人力成本以及可以很好地…

访问一次网站的全过程

目录 流程图&#xff1a; 一、应用层开始 1. 在浏览器输入https://www.baidu.com 2. DNS获取IP地址 3. 根据HTTP协议生成HTTP请求报文 应用层结束 二、传输层开始 4. TCP三次握手 传输层结束 三、网络层开始 5. IP寻址 6. ARP协议获取MAC地址 网络层结束 四、数据…

Modified Bessel Function of the First Kind

Abstract 最近接触到 von Mises–Fisher distribution, 其概率密度如下: f p ( x ; μ , κ ) κ p 2 − 1 ( 2 π ) p 2 I p 2 − 1 ( κ ) e κ μ ⊺ x \begin{aligned} f_{p}(\bm{x}; \bm{\mu}, \kappa) \frac{\kappa^{\frac{p}{2}-1}} {(2\pi)^{\frac{p}{2}} I_{\frac…

linux系统下,配置开机自启脚本常见的5种方法

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:linux基础与进阶,shell脚本编写实战 景天的主页:景天科技苑 文章目录 linux下设置开机自动运行脚本的5种方法一、编辑/etc/rc.d/rc.local文件1、在自己需要启动的文件目录中编写一个…

CPU独占内核运行方式实现,并指定线程到特定CPU上执行

CPU独占内核运行方式实现&#xff0c;并指定线程到特定CPU上执行1. 隔离指定的CPU,避免其余线程run在被隔离的CPU上2. 绑定所有的interrupts&#xff08;中断&#xff09;到非隔离的CPU上,避免被隔离的CPU收到interrupt.3. C绑定线程运行在指定CPU也可以通过taskset来使线程/进…

一文详解WebView,不好理解就想想iframe,类比后秒懂了。

Hi&#xff0c;我是贝格前端工场&#xff0c;又到了给大家做技术扫盲的时候&#xff0c;本文讲一讲webview&#xff0c;有些老铁觉得很难懂&#xff0c;其实借助iframe来中转一下&#xff0c;就好理解了。 WebView是一种用于在应用程序中显示Web内容的组件。它可以嵌入到应用程…

免费、好用、强大的轻量级笔记软件评测

在我们不断寻找能提高个人和团队效率的工具的过程中&#xff0c;优质的笔记软件扮演着至关重要的角色。本文将介绍几款经过精选的免费且功能强大的笔记应用&#xff0c;这些应用不仅适合个人记录和整理思维&#xff0c;也适合团队合作和信息共享。 Joplin —— 隐私保护的开源…

京东按关键字搜索商品 API 返回值说明

京东按关键字搜索商品的API返回值说明如下&#xff1a; 总记录数&#xff08;total_count&#xff09;&#xff1a;搜索结果的总数量。当前页码&#xff08;page_no&#xff09;&#xff1a;当前请求的页码。每页记录数&#xff08;page_size&#xff09;&#xff1a;每页显示…

蓝桥杯倒计时 36天-DFS练习

文章目录 飞机降落仙境诅咒小怂爱水洼串变换 飞机降落 思路&#xff1a;贪心暴搜。 #include<bits/stdc.h>using namespace std; const int N 10; int t,n; //这题 N 比较小&#xff0c;可以用暴力搜搜复杂度是 TN*N! struct plane{int t,d,l; }p[N]; bool vis[N];//用…