operating-system相关内容

打印出整个目录树

我现在的代码: 导入操作系统树 = {}树 = os.listdir('Dir') >>>打印(树)['新建文件夹','Textfile1.txt','Textfile2.txt'] 这不会打印出子目录中的文件.(新建文件夹是一个子目录). 我的问题是,如何输出目录下的所有文件和子目录下的文件? 解决方案 import os定义测试1(根目录):list_dirs = os.w ..
发布时间:2022-01-11 23:24:23 Python

在哪里使用易失性?

我读到了 volatile 关键字,但我不知道应该在什么情况下使用它. 当内存(变量)被更新而进程没有意识到这一点时? 驱动程序在什么情况下应该使用 volatile 变量? 解决方案 在我的世界中,最常见的情况是当您编写使用内存映射 I/O 的微控制器时.寄存器中的值可能会因外部数字输入而改变,但如果您不将变量声明为 volatile,编译器可能会完全优化代码,您会想知道为什 ..

C/C++程序中怎么会有静态地址?

我一直在研究 Cheat Engine,它允许您检查和操作 Windows 上正在运行的进程的内存:您根据变量的值扫描变量,然后您可以修改它们,例如在游戏中作弊. 为了编写机器人或类似的东西,您需要为要更改的变量找到一个静态地址 - 即,如果进程重新启动,该地址保持不变.其方法大致如下: 寻找你感兴趣的变量的地址,按值搜索 使用该地址查找代码,例如找到它所属的结构的地址(因为结构偏移 ..
发布时间:2022-01-11 23:23:59 其他开发

Python os.stat 和 unicode 文件名

在我的 Django 应用程序中,用户上传了一个名称中包含 unicode 字符的文件. 当我下载文件时,我正在调用: os.path.exists(media) 测试文件是否存在.反过来,这似乎在调用 st = os.stat(path) 然后会因错误而爆炸: UnicodeEncodeError: 'ascii' codec can't encode character u ..
发布时间:2022-01-11 23:23:53 Python

Git core.autocrlf 行尾默认设置

如果用户不更改此设置,我正在尝试找出 Git 中 core.autocrlf 的默认值. 我查看了文档,但找不到此信息.你能指出我正确的方向吗? 具体来说,在全新安装 Git 时,当从 Windows 系统提交存储库时,Git 会自动将 Windows 行尾转换为 Unix 吗? 谢谢! 解决方案 检查git源码,core.autocrlf默认设置为false.(自 20 ..
发布时间:2022-01-11 23:23:47 其他开发

使用 python 获取安装 python 的根目录/驱动器的系统独立方式

对于 Linux,这会给我 /,对于 C 驱动器上的 Windows,这会给我 C:\\.注意windows的C盘不一定要安装python. 解决方案 可以使用sys.executable获取Python可执行文件的路径: >>>导入系统>>>导入操作系统>>>系统可执行文件'/usr/bin/python' 然后,对于 Windows,驱动器号将是 splitdrive 的第一部分: ..
发布时间:2022-01-11 23:23:38 Python

计算(非抢占式)FCFS 队列中的等待时间和周转时间

我有6个流程如下: -- P0 --到达时间 = 0突发时间 = 10-- P1 --到达时间 = 110突发时间 = 210-- P2 --到达时间 = 130突发时间 = 70-- P3 --到达时间 = 130突发时间 = 70-- P4 --到达时间 = 130突发时间 = 90-- P5 --到达时间 = 130突发时间 = 50 如何计算每个流程的等待时间和周转时间?系统应该是非抢 ..
发布时间:2022-01-11 23:23:30 其他开发

在C程序中获取系统命令输出

有没有更好的方法? int numOfCPU;system("grep -c ^processor/proc/cpuinfo >>/tmp/cpuinfo");文件 *fp = fopen("/tmp/cpuinfo", "r");fscanf(fp, "%d", &numOfCPU);fclose(fp);系统(“rm/tmp/cpuinfo"); 我不想创建中间文件然后将其删除. 编 ..
发布时间:2022-01-11 23:23:21 服务器开发

谁在 OS 中调度调度程序 - 这不是先有鸡还是先有蛋的场景吗?

谁调度调度器? 第一个任务是创建的,第一个任务是如何创建的?它不需要任何资源或内存吗?不像是先有鸡还是先有蛋的场景? 调度器不是任务吗?它是否在每个时间片结束时获取 CPU 以检查需要为哪个任务分配 CPU? 有没有什么好的环节可以让人深入思考和理解所有这些概念,而不是散布一些需要心血来潮的理论? 解决方案 调度器被调度 一个(外部)事件,例如中断、(磁盘完成、鼠标 ..
发布时间:2022-01-11 23:22:50 其他开发

Guid 在不同机器上的唯一性

可能重复: GUID 100% 的时间是否唯一? p> 在阅读了关于 Guid 的所有帖子后,我仍然不清楚一件简单的事情: 不同机器生成的Guids也保持其唯一性. 我已经阅读了关于单机上的 guid 唯一性,但我仍然不知道不同机器上的唯一性 解决方案 GUID“实际上"普遍独一无二. GUID 是一个 128 位整数(16 个字节),可在需要唯一标识符的所有计算机和 ..
发布时间:2022-01-11 23:22:41 C#/.NET

一个完整的 C# 操作系统

我在这里看到了这个帖子.我想知道这是否合法(听起来像)以及这样做的缺点是什么.在某些架构中独立运行它需要什么?谢谢 解决方案 目前尝试用托管语言创建操作系统是一个“有趣的研究问题".这意味着这似乎是可能的,但仍有相当多的重要问题需要解决(例如,我预计不会很快出现“托管窗口"). 例如,看看 Singularity 项目(也可以使用 在 CodePlex).它仍然有一些原生部分,但很少 ..
发布时间:2022-01-11 23:22:31 C#/.NET

进程VS线程:两个进程可以共享相同的共享内存吗?两个线程可以吗?

在思考了共享内存的整个概念之后,提出了一个问题: 两个进程可以共享同一个共享内存段吗?两个线程可以共享同一个共享内存吗? 仔细考虑之后,我几乎肯定两个进程可以共享同一个共享内存段,其中第一个是父亲,第二个是儿子,这是用 fork 创建的() ,但是两个线程呢? 谢谢 解决方案 两个进程可以共享同一个共享内存段吗? 是和不是.通常在现代操作系统中,当另一个进程从第 ..

Linux 系统上的 niceness 和优先进程

我正在寻找一种通过命令行修改进程优先级的方法.我发现内置 (bash) nice 和命令 renice 允许修改进程的好坏,但不是内核计算的实际优先级. 是否有允许设置优先级的命令?(或者我在友善和优先之间感到困惑?) 解决方案 linux中进程的优先级是动态的:运行时间越长,优先级越低.进程在实际使用 CPU 时运行 - 典型 Linux 机器上的大多数进程只是等待 I/O,因此不 ..
发布时间:2022-01-11 23:22:06 其他开发

如何制作可启动的 iso(不是 cd 或闪存驱动器)来测试您自己的引导加载程序?

我正在尝试编写一个引导加载程序(hello world 排序).我正在使用 Bochs 进行模拟(平台 Linux-Ubuntu).但我无法为我的二进制文件制作可启动的 iso.虽然在教程中使用了 VFD(虚拟软盘),但它适用于 windows 平台.这是我的引导加载程序代码(仅用于测试) ;**************************************************;引 ..
发布时间:2022-01-11 23:21:58 其他开发

IA-32 中的段选择器

段选择器何时出现.英特尔指南中的行说: "每个段描述符都有一个关联的段选择器.一个段选择器为使用它的软件提供 GDT 的索引或 LDT(其关联的段描述符的偏移量),a全局/本地标志(确定选择器是否指向 GDT或 LDT),以及访问权限信息." 我不太明白. 是否有单独的段选择器寄存器?它是如何计算的?为什么我们需要它? 解决方案 那么会发生什么: 每当加载程序时,链 ..
发布时间:2022-01-11 23:21:28 其他开发

fork() 系统调用和进程的内存空间

我引用“当一个进程使用 fork() 调用创建一个新进程时,只有共享内存段在父进程和新分叉的子进程之间共享.堆栈和堆的副本是为新创建的Silberschatz 的“操作系统概念"解决方案中的流程". 但是当我尝试这个程序时 #include #include #define MAX_COUNT 200无效子进程(无效);/* 子进程原型 */无效 ..
发布时间:2022-01-11 23:20:58 其他开发

什么是页表条目大小?

我找到了这个例子. 考虑一个具有 32 位逻辑地址空间的系统.如果页面在这样的系统中,大小为 4 KB (2^12),那么页表可能由最多 100 万个条目 (2^32/2^12).假如说每个条目由 4 个字节组成,每个进程可能需要多达 4 MB 的物理地址空间用于单独的页表. 每个条目由 4 个字节组成是什么意思,为什么每个进程可能需要最多 4 MB 的物理地址空间用于页表? 解 ..
发布时间:2022-01-11 23:20:52 其他开发

TLB 未命中与缓存未命中?

有人能解释一下 TLB(翻译后备缓冲区)未命中和缓存未命中之间的区别吗? 我相信我发现 TLB 指的是某种虚拟内存地址,但我并不太清楚这究竟意味着什么? 我了解当内存块(缓存行的大小)加载到(L3?)缓存中并且如果当前缓存行中未保存所需地址时会导致缓存未命中 - 这是缓存未命中. 解决方案 嗯,今天所有的现代操作系统都使用一种叫做虚拟内存的东西.CPU生成的每个地址都是虚拟的. ..