
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Set-UID是Unix系统中的一个重要安全机制,允许程序在执行时以拥有者的权限运行。修改文件权限:将passwd程序拷贝到/tmp/目录下后,原始目录中的suid位被设置,导致复制的文件失去了修改密码的权限。对特定命令的影响:将chsh、su和sudo等命令拷贝到用户目录下后,这些复制的程序不再具有root权限。/bin/bash的保护机制:实验中观察到/bin/bash具有某种内在的保护机制,

对操作系统安全的关注,实际上是对操作系统中信息安全的关注。信息安全的基本原则是CIA三元组——机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。机密性:又称隐私性(Privacy),是指数据不能被未授权的主体窃取,即避免恶意读操作。完整性:是指数据不能被未授权的主体篡改,即避免恶意写操作。可用性:是指数据能够被授权主体正常访问。提出问题操作

进程调度函数:schedule函数是Linux中进程调度的核心函数。它负责在合适的时机选择下一个要执行的进程,并进行进程切换。选择下一个进程:pick_next_task函数是schedule函数中的重要组成部分,它根据调度策略和调度算法来选择下一个要执行的进程。这个函数会考虑进程的优先级、时间片等因素,以确定下一个应该被调度的进程。进程切换:进程切换是指从当前正在执行的进程切换到下一个要执行的进

Linux虚拟机技术和容器技术是两种不同的虚拟化技术,用于实现应用程序的隔离和部署。Linux虚拟机技术基于完全虚拟化原理,通过在物理硬件上运行虚拟机监视器(Hypervisor)来创建和管理多个虚拟机实例。每个虚拟机拥有独立的操作系统、内核和用户空间,可以运行不同的操作系统,如Linux、Windows等。虚拟机之间相互隔离,具有较高的安全性和隔离性,每个虚拟机可以拥有自己的资源(CPU、内存、

用户态进程调用 int 0x80 或 system_call 时,实际上触发了一个中断,这个中断使得 CPU 暂停当前进程的执行,保存当前执行环境(现场),并切换到内核态执行系统内核中预设的一些任务。这个过程确保了用户态进程在执行系统调用时能够以受控制的方式进入内核态,而系统调用执行结束后,再次保存当前执行环境,回到内核态,最终通过 iret 指令返回到用户态。在这个过程中,中断处理程序会对调用的

创建一个新进程在内核中的执行过程大致如下:使用系统调用Sys_clone(或fork,vfork)系统调用创建一个新进程。这些系统调用会通过调用do_fork函数来实现进程的创建。Linux通过复制父进程的进程控制块(PCB)中的task_struct结构来创建一个新进程,并为新进程分配一个新的内核堆栈。需要修改复制过来的进程数据,例如进程ID(pid)、进程链表等。这一步通过执行copy_pro

start_kernel 是 Linux 内核启动的入口函数,它负责进行一系列的初始化工作,包括硬件初始化、内存管理的建立、中断系统的初始化、系统调用的初始化等。其中,rest_init 函数的作用是创建系统的第一个用户态进程,也就是 PID 为 1 的 kernel_init 进程。具体流程可以总结如下:start_kernel 函数: 是 Linux 内核启动的入口函数,负责进行整个内核的初始

抽象级别:库函数调用是高级语言中使用函数调用触发系统调用,无需了解底层细节;内联汇编调用直接使用汇编指令触发系统调用,需要了解汇编语言和系统调用的细节。可移植性:库函数调用具有较好的可移植性,可以在不同平台上编译和运行;内联汇编调用的可移植性较差,特定于底层硬件和操作系统。简洁性和可读性:库函数调用使代码更简洁和易读;内联汇编调用使代码变得冗长和难以理解。性能:内联汇编调用系统调用通常具有较好的性

(2023-2024-1)20232830《Linux内核原理分析与设计》第三周作业。








