操作系统篇
文章平均质量分 72
konghhhhh
记录自己的学习过程
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
webbench1.5 源码分析
github 主页readme原文:Web Bench is a very simple tool for benchmarking WWW or proxy servers. Uses fork() for simulating multiple clients and can use HTTP/0.9-HTTP/1.1 requests. This benchmark is not very realistic, but it can test if your HTTPD can really h原创 2022-04-18 19:49:36 · 443 阅读 · 1 评论 -
内存访问常见错误
valgrind内存检查原理建立两个全局表:Valid-Value表:进程的整个地址空间的每一个字节(Byte), 都有与之对应的8bit, 对于CPU中的每一个寄存器, 也都有一个与之对应的bit向量. 这些bit负责记录该字节或者寄存器是否具有有效的、已初始化的值.Valid-Address表:整个地址空间的每一个字节, 还有阈值对应的1bit, 记录改地址能够被读写.检测原理当读写内存中某个字节时, 首先检查Address表, 如果是无效位置, 则错误valgrind中维护一个虚原创 2022-03-13 17:04:58 · 709 阅读 · 0 评论 -
现代操作系统 原理与实现(银杏书)—— 进程间通信
进程间通信 (IPC)基础概念简单IPC概念IPC至少需要两个进程参与: 一个发送者,一个接收者内核为两个进程映射了一段共享内存内存一种常见的通信数据的抽象——消息共享内存 VS 基于共享内存的消息传递 VS 操作系统辅助的消息传递共享内存直接在两个进程间建立共享区域,进程可以直接使用该共享区域上的数据,不存在“消息”的抽象共享内存理论上讲,可以实现零内存拷贝的传输基于共享内存的消息传递操作系统在通信过程中不干预数据传输多了“消息”的抽象消息传递的基本接口:发送消原创 2021-09-21 21:58:48 · 596 阅读 · 0 评论 -
现代操作系统 原理与实现(银杏书)—— 操作系统调度
操作系统调度单核调度策略经典调度先到先得 / 先进先出(FIFO)缺点:长短任务混合的场景对短任务不友好如果长任务先到,那么所有短任务都等待很久对I/O密集型任务不友好I/O时会放弃CPU重新排队最短任务优先(SJF shortest job first)缺点:必须预知任务的运行时间迟到的短任务无法优先最短完成时间任务优先(STCF)抢占式的SJF时间片轮转(RR Round Robin)优先级调度多核调度策略能耗感知调度(EAS, Ener原创 2021-09-06 16:51:34 · 610 阅读 · 0 评论 -
现代操作系统 原理与实现(银杏书)—— 进程与线程 (纤程、协程)
进程与线程进程每个进程对应一个运行中的程序进程的内存空间布局自顶向下依次(顶为最大地址,底为最小地址)为:内核代码及数据处在内核栈用户栈自顶向下扩展栈底在高地址,栈顶在低地址代码库(只读)用户堆自底向上扩展堆顶在高地址数据与代码段进程控制块 PCBLinux 4.14中PCB对应的数据结构task_struct包含的部分: struct task_struct { // 进程状态 volatile lo原创 2021-09-05 21:25:28 · 475 阅读 · 0 评论 -
现代操作系统 原理与实现(银杏书)—— 内存管理
虚拟内存应用程序在运行时使用虚拟内存,CPU负责将虚拟地址翻译成物理地址,操作系统负责设置虚拟地址和物理地址之间的映射虚拟地址和物理地址内存管理单元(MMU, Memory Management Unit)转址旁路缓存(TLB, Translation Lookaside Buffer)分段与分页机制AArch64架构下的4级页表为什么使用多级页表?多级页表的设计极大减少了页表占用的空间大小多级页表允许在整个页表结构中出现空洞,而单击页表则需要每一项都实际存在单级页表可以看做以原创 2021-09-05 14:42:03 · 378 阅读 · 0 评论 -
现代操作系统 原理与实现(银杏书)—— 概述、arm硬件结构
概述操作系统的共性从硬件的角度来看:管理硬件将硬件资源纳入统一的管理对硬件提供抽象将有限的、离散的资源抽象成无限的、连续的资源从应用的角度来看:服务于应用提供了不同层次的接口(系统调用)以满足应用的需求管理应用对应用的生命周期进行管理(加载、启动、切换、调度、销毁)操作系统接口系统调用接口应用程序通过系统调用向操作系统内核申请服务POSIX接口Portable Operating System Interface for un原创 2021-09-05 13:22:02 · 1040 阅读 · 0 评论 -
操作系统篇——程序间的交互和通信
深入理解计算机系统第三部分,程序间的交互和通讯。第10章 系统级I/O1、输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程。2、高级别I/O函数工作良好,为什么还要学习Unix I/O呢? 1)了解unix I/O帮助理解其他的系统概念。 2)有时除了使用unix I/O以外别无选择。如,标准I/O库没有提供读取文件元数据的方式,如文件大小或文件创建...原创 2020-02-14 16:36:17 · 842 阅读 · 0 评论
分享