操作系统
文章平均质量分 93
《现代操作系统》&&CSAPP
CPT1024
C/C++领域新星创作者 CSDN万粉博主
展开
-
【Operating Systems:Three Easy Pieces 操作系统导论 】第28章 插叙:线程 API
include // 头文件intvoid * argthread指向 pthread_t 结构类型的指针,我们将利用这个结构与该线程交互,因此需要将它传入,以便将它初始化。相当于该线程的身份证attr指定该线程可能具有的任何属性。包括设置栈大小,或关于该线程调度优先级的信息等一个函数指针(),指向要运行的函数arg要运行的函数的参数。原创 2023-11-21 19:39:42 · 107 阅读 · 0 评论 -
《Operating Systems:Three Easy Pieces》 操作系统导论【二】 虚拟化内存
在这个例子中,有 8 个页帧(由 128 字节物理内存构成,也是极小的)为了记录地址空间的每个虚拟页放在物理内存中的位置,操作系统通常为每个进程保存一个数据结构,称为页表(page table页表的主要作用是为地址空间的每个虚拟页面保存地址转换(为了转换(translate)该过程生成的虚拟地址,我们必须首先将它分成两个组件:虚拟页面号()和页内的偏移量(offset检索页表,找到虚拟页 1 所在的物理页面, 物理帧号(PFN)(有时也称为物理页号,原创 2023-10-19 11:45:48 · 177 阅读 · 0 评论 -
《Operating Systems: Three Easy Pieces》 操作系统导论【一】 虚拟化 CPU
操作系统为正在运行的程序提供的抽象进程可以访问的内存(称为地址空间,) 是该进程的一部分。进程的机器状态的另一部分是寄存器。例如,程序计数器(,PC)(有时称为指令指针,Instruction Pointer 或 IP)告诉我们程序当前 正在执行哪个指令;类似地,栈指针()和相关的帧指针()用于 管理函数参数栈、局部变量和返回地址。关键问题:如何开发调度策略我们该如何开发一个考虑调度策略的基本框架?什么是关键假设?哪些指标非常重要?哪些基本 方法已经在早期的系统中使用?原创 2023-09-30 18:12:45 · 267 阅读 · 0 评论 -
【Operating Systems:Three Easy Pieces 操作系统导论 】 第 26 章 并发:介绍 & 第27章线程 API
thread指向pthread_t结构类型的指针,我们将利用这个结构与该线程交互,因此需要将它传入,以便将它初始化。相当于该线程的身份证attr指定该线程可能具有的任何属性。包括设置栈大小,或关于该线程调度优先级的信息等一个函数指针(function pointer),指向要运行的函数arg要运行的函数的参数。原创 2023-07-10 10:46:01 · 185 阅读 · 0 评论 -
【南京大学PA】 PA0 环境配置 & lab (vim | gcc | lab)
以下是一个简单的Makefile,用于编译C语言中的“Hello World”程序:+ `Makefile` 文件名的文件 和 `hello.c` 必须在同一目录文件下```CC=gcc 指定用gcc编译器进行编译CFLAGS=-Wall 第二行指定了编译选项 -wall 表示开启 所有警告信息 (去了也不影响)hello: hello.c 编译目标程序是hello 依赖于 hello.c 文件 $(CC) $(CFLAGS) -o hello hell原创 2023-04-22 20:20:59 · 1919 阅读 · 9 评论 -
【Operating Systems:Three Easy Pieces 操作系统导论 】 4 ~ 6 章 (进程 | 进程 API | 受限直接执行)
【读书笔记】 Operating Systems:Three Easy Pieces 操作系统导论![hua](https://img-blog.csdnimg.cn/3ff14eec6e0a49b29fba347e3e8f2c8e.png)# 第四章、 抽象 : 进程## 4.1 什么是进程 ?+ 操作系统为正在运行的程序提供的抽象+ 进程可以访问的内存(称为地址空间,address space) 是该进程的一部分。+ 进程的机器状态的另一部分是寄存器。 + 例如,程序计数器(Prog原创 2023-04-21 17:28:51 · 531 阅读 · 0 评论 -
【操作系统】模块六 :文件系统 (Linux文件目录 | 文件系统 | B树 B+树 |分布式文件系统)
【操作系统】模块六 :文件系统Linux的文件目录分区结构挂载目录结构/usr(Unix System Resource) 包含系统需要的资源文件,通常应用程序会把后来安装的可执行文件 也放到这个目录下,比如说文件系统底层设计 FAT、NTFS 和 Ext3 文件系统有什么区别?硬盘分块文件的描述目录的实现软链接总结FAT、NTFS 和 Ext3 有什么区别?MySQL 的B树 和 B+树行存储和列存储行存储列存储(Column Storage)为什么行存储更适合事务?索原创 2023-03-30 12:15:28 · 1237 阅读 · 0 评论 -
【南京大学操作系统(蒋岩炎)】(三)理解并发程序执行 | 并发控制 : 互斥
实现的是一个内存共享模型想象成一个真实的物理空间这也证明了为什么 要贴上对方的名字 +实现 lock_t 数据结构和 lock/unlock API:问题的思考由于软件无法解决的lock ,因为软件的主要部分是计算实现lock还需要系统有一个裁决机制如果把 内敛汇编的 去掉的话 , 则会出错自旋锁的实现x86 原子操作:LOCK 指令前缀例子:[sum-atomic.c](http://jyywiki.cn/pages/OS/2022/demos/sum-atomAtomic原创 2022-11-08 15:28:48 · 1214 阅读 · 1 评论 -
【南京大学操作系统(蒋炎岩)】(五) 并发 Bug 和应对
检查检查再检查!!原创 2022-11-13 20:50:09 · 1191 阅读 · 0 评论 -
【南京大学jyy操作系统(蒋炎岩)】(四)并发控制: 同步 | 真实世界的并发编程
例子超级计算(目前) : 把同多个步操作 分给多个cpu 然后汇总起来 (eg。拓扑结构 计算二维dp)超级计算机 : 分哪些机器 , 再想机器上有哪些进程 最后线程是如何通信的MPI接口 同步的库: 多节点程序 如何保证多节点发消息通信同步。原创 2022-11-11 16:04:22 · 2024 阅读 · 0 评论 -
【2022南京大学操作系统(蒋岩炎)】(二) 多处理器编程
我目前正在学jyy的操作系统,该文章为我的笔记。学习链接 :原创 2022-11-06 21:04:03 · 1178 阅读 · 5 评论 -
【2022南京大学操作系统(蒋岩炎)】(一)操作系统概述 | 操作系统上的程序
文章目录P1 计算机概论什么是操作系统?操作系统上的程序tmux 快捷键操作数字逻辑电路:模拟器状态机和数码管实现程序C语言视角二进制程序构造最小的 Hello, World最小的 HolloWorld程序编译器与编译优化操作系统的一般程序总结P1 计算机概论什么是操作系统?在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述操作系统上的程序补ppt ppttmux 快捷键操作https://www.jianshu原创 2022-11-04 23:25:14 · 2832 阅读 · 5 评论 -
《操作系统》模块五:内存管理
Swap技术允许一部分进程使用内存,不使用内存的进程数据先保存在磁盘上。注意,这里提到的数 据,是完整的进程数据,包括正文段(程序指令)、数据段、堆栈段等。每个进程独立得到一个空间——我们称为地址空间(Address Space)。当进程 A 执行时,CPU 中会保存它地址空间的开始位置和结束位置,当它想访问超过 地址空间容量的地址时,CPU 会检查然后报错。原创 2022-09-03 18:02:00 · 633 阅读 · 0 评论 -
【操作系统】模块四:进程和线程
进程间通信(Intermediate Process Communication,IPC)。所谓通信就是交换数据。原创 2022-08-28 17:54:22 · 477 阅读 · 1 评论 -
【操作系统】模块三 :内核
操作系统实现 了基本解析按键的算法,将按键抽象成键盘事件,并且提供了队列存储多个按键,还提供了监听按键的 API。内核权限非常高,它可以管理进程、可以直接访问所有的内存,因此确实需要和进程之间有一定的隔 离。将需要执行的程序,让一个内核线程去执行,内核线程是真正的线程。内核态线程,创建成本高,可以利用 多核,切换速度慢。分层其实差不多,区别在于比如说驱动程序是需要频繁调用底层能力的,如果在 内核中,性能肯定会好很多。其实不是,进程可以通过 API 创建用户态的线程,也可以通过系统调用创建内核态的线程。...原创 2022-08-17 11:37:15 · 323 阅读 · 2 评论 -
【操作系统】总结(二)linux指令
第一点是需要提前将包编译好,因此有一个发布的过程,如果某个包没有发布版本,或者在某个平台上找不到对应的发布版本,就需要编译安装,第二点就是如果一个软件的定制程度很高,可能会在编译阶段传入参数,比如利用configure传入配置参数,这种时候就需要编译安装。/代表根目录,每一节目录也用/分开,所以在上图所展示 的/usr/bin/rm中,第一级目录是/根目录,第二级目录是usr目录,第三级是bin目录。如果一个用户需要root能力,那么应当进行权限包围——马上提升权限(比如 sudo),处理后马上释放权限。.原创 2022-08-05 21:04:40 · 506 阅读 · 0 评论 -
【操作系统】总结 (一) 计组部分知识
指令的执行速度CPU是用石英晶体产生的脉冲转化为时钟信号驱动的,每一次时钟信号高低电平的转换就是一个周期,我们称为时钟周期。同样是加载内存中的数据到寄存器的load指令直接加载一个内存地址到寄存器,称为直接寻址,直接将一个数值导入寄存器,寄存器寻址,将一个寄存器的数值作为地址再去加载这个地址,称为间接寻址。编译器通过分析,发现11和15是数据,因此编译好的程序启动时,会在内存中开辟出一个专门的区域存这样的常数,这个专门用来存储常数的区域,就是数据段.......原创 2022-08-01 21:13:57 · 1016 阅读 · 0 评论