operating-system相关内容

当您调用克隆系统调用时,谁设置了 RIP 寄存器?

我正在尝试实现一个最小内核,并且我正在尝试实现克隆系统调用.在手册页中,您可以看到这样定义的克隆系统调用: int clone(int (*fn)(void *), void *stack, int flags, void *arg, .../* pid_t *parent_tid, void *tls, pid_t *child_tid */); 如您所见,它接收一个函数指针.如果您仔细阅读 ..
发布时间:2022-01-11 23:37:58 其他开发

Android:BroadcastReceiver 重新启动被杀死/崩溃的应用程序

我有一个应用程序,我希望能够在发生错误或崩溃/应用程序关闭时重新启动它.我熟悉如何注册BroadcastReceivers,使用闹钟等 当应用程序关闭时,我是否可以截获应用程序发出的任何信号?或者当任何应用关闭时操作系统会发出? 解决方案 当应用程序关闭时,我是否可以截获应用程序发出的任何信号?或者当任何应用程序关闭时 > 操作系统会发出? 不,不,AFAIK. ..

打开新标签时,谷歌浏览器究竟做了什么?

今天,我观察到一个有趣的行为.我使用的是 windows XP-sp3 操作系统. 当我在 Google Chrome 中打开一个新标签时查看任务管理器,创建了一个新进程. 但是,一段时间后,此过程终止. 为什么会出现这种行为?是因为系统调用vfork()?子进程是否立即调用exec()? 这种情况是否只发生在 Google Chrome 或所有其他浏览器的行为方式类似? 解 ..
发布时间:2022-01-11 23:37:44 其他开发

什么在操作系统中强制执行内存保护?

一般来说,我知道一个进程无法写入具有不允许写入的保护的内存(在其地址空间中).但是什么检查进程是否可以做到这一点?是否有任何汇编指令通过操作系统?它是如何工作的? 解决方案 在大多数现代 CPU(Intel x86,大多数 ARM 版本)中,是 CPU 本身进行检查.CPU在寄存器之一中存储数据结构的地址,该地址指定存储器的布局(“页表")——具体而言,哪些地址是可读的,哪些是可写的,哪些 ..
发布时间:2022-01-11 23:37:36 其他开发

sysinfo 系统调用未返回正确的 freeram 值

我最近使用 sysinfo 系统调用编写了以下 C 代码来显示系统统计信息,让我感到有趣的是 sysinfo 结构的 freeram 变量不返回可用 RAM 的数量,而是返回当前的 RAM 使用情况.我不得不使用一种变通方法通过从 totalram 中减去 freeram 来显示正确的值.我试过用谷歌搜索这个特定的变量,但无济于事.对这种奇怪行为的任何洞察都会非常有帮助. /** C程序打印系统 ..
发布时间:2022-01-11 23:37:26 服务器开发

在目录上使用 `read` 系统调用

我正在查看 K&R 2 中的示例(8.6 示例 - 列表目录).它是 Linux 命令 ls 或 Windows 的 dir 的精简版.该示例显示了 opendir、readdir 等函数的实现.我已经尝试逐字输入代码,但它仍然不起作用.它所做的只是打印一个点(针对当前目录)并退出. 我在代码中发现了一件有趣的事情(在 readdir 的实现中),它正在调用像 open 和 read 在目录 ..

Python:os.path.isfile 无法识别以数字开头的文件

所以,我正在尝试将 os.path.isfile 或 os.path.exists 合并到我的代码中,并成功找到某些常规文件(pdf,png) 搜索以字母开头的文件名时. 我正在使用的文件命名标准(并且由于用户而无法更改)以数字开头,随后无法使用相同的方法找到.有没有办法让 .isfile 或 .exists 发现这些文件? 我要搜索的文件是 .txt 文件. os.path.is ..
发布时间:2022-01-11 23:36:48 Python

在 16 位实模式汇编中无法清除整个屏幕

我正在尝试在简单的 16 位实模式操作系统中清除屏幕.下面是代码: clearScreen:普沙移动啊,0x7移动, 0整数 0x10波帕ret 我读到将 al 设置为 0 并调用滚动屏幕中断会清理屏幕,但它似乎只是将第一行的颜色更改为灰色. 感谢任何能解释为什么这不起作用的人. 解决方案 问题是 int 0x10 函数 0x07 接受的参数比你给的多.具体来说, AH = ..
发布时间:2022-01-11 23:36:38 其他开发

在 Linux 3.x 上挂钩 sys_execve()

我正在尝试通过修改系统调用表来挂钩 Linux 3.x 内核上的 sys_execve() 函数.问题是 sys_execve() 只有在执行不成功时才应该返回错误代码.使用我正在使用的包装函数(见下文),当 sys_execve() 在有效的可执行文件上被调用时,它执行得很好并且一切正常.但是,当在不存在的文件或其他导致错误情况的文件上调用它时,调用程序将崩溃: 3b ip 000000000 ..
发布时间:2022-01-11 23:36:29 其他开发

2 个虚拟地址何时可以映射到同一个物理地址?

这里有一个操作系统/计算机架构问题.我正在阅读有关缓存的内容,关于如何虚拟索引缓存是减少地址转换时间的一种选择.我遇到了以下情况: "虚拟缓存困难包括:别名两个不同的虚拟地址可能具有相同的物理地址." 我想不出什么情况会发生这种情况.自从我的 O/S 天以来已经有一段时间了,我正在画一个空白. 有人可以举个例子吗?谢谢 解决方案 两个进程可能有一个共享的mapping.例如,在 ..
发布时间:2022-01-11 23:36:23 其他开发

vfork() 系统调用中的返回值

考虑以下代码: int main(){国际PID;pid=vfork();如果(PID==0)printf("孩子\n");别的printf("父\n");返回0;} 在vfork()的情况下,父进程和子进程使用的地址空间相同,所以变量pid的单个副本应该在那里.现在我无法理解这个 pid 变量如何具有 vfork() 返回的两个值,即子级为零,父级非零? 在 fork() 的情况下,地 ..
发布时间:2022-01-11 23:36:15 其他开发

Javascript - 检索操作系统日期格式

嗯...好吧,我已经在网上搜索了 2 天,但没有任何运气.我已经看到很多关于如何格式化 javascript 日期的答案,例如 new Date().toString("yyyy-MM-dd")... 这将返回类似 2013-04-05 的内容. 这绝对不是问题. 我想要的是设置我的操作系统显示日期的格式,然后检索该特定格式并将其显示在浏览器中的可能性. 例如,假设我将操作系统中 ..
发布时间:2022-01-11 23:36:04 前端开发

os.removexattr 的 Python 文档——'*'(星号)参数是什么意思?

我的第一个问题,请温柔一点.我搜索但在这里或其他地方找不到答案. 请注意,此问题不适用于 *args 等参数的解包. 在 os.removexattr 声明如下: os.removexattr(路径、属性、*、follow_symlinks=True)从路径中删除扩展文件系统属性属性.属性应该是字节或字符串.如果是字符串,则进行编码使用文件系统编码.该函数可以支持指定文件描述符而不是 ..
发布时间:2022-01-11 23:35:58 Python

为什么操作系统说内存足够时无法为jvm分配内存

我正在尝试使用命令启动一个新的jvm:java -version,但是它报告了一个错误: # 内存不足,Java 运行时环境无法继续.# 本机内存分配(malloc)未能为 AllocateHeap 分配 160088 字节# 包含更多信息的错误报告文件保存为:#/users/xxx/xxx/hs_err_pid12365.log 然后我检查了文件 /users/xxx/xxx/hs_err_ ..
发布时间:2022-01-11 23:35:50 Java开发

操作系统内核是所有其他程序的解释器吗?

所以,据我了解,有两种类型的程序,一种是解释型的,一种是编译型的.解释程序由解释器执行,解释器是其所在平台的本机应用程序,编译程序本身就是它们所在平台的本机应用程序(或系统软件). 但我的问题是:除了内核之外,还有其他东西实际上是由 CPU 直接运行的吗?Windows 可执行文件是“Windows 可执行文件",而不是 x86 或 amd64 可执行文件.这是否意味着不是内核的所有其他进程 ..
发布时间:2022-01-11 23:35:43 服务器开发

cpu使用率最高的进程名

我有一个 Samurize 配置,它显示类似于任务管理器的 CPU 使用率图表. 如何同时显示当前 CPU 使用百分比最高的进程名称? 我希望每秒最多更新一次.Samurize 可以调用命令行工具并将其输出显示在屏幕上,因此这也是一种选择. 进一步说明: 我研究过编写自己的命令行 c# .NET 应用程序来枚举从 System.Diagnostics.Process.Get ..
发布时间:2022-01-11 23:35:33 其他开发

如何以 Pythonic 方式向上移动 n 个目录?

我正在寻找一种从给定目录中向上移动 n 目录的 Python 方法. 假设我们有示例路径 /data/python_env/lib/python3.6/site-packages/matplotlib/mpl-data.如果我们要向上移动 n=2 目录,我们应该最终到达 /data/python_env/lib/python3.6/site-packages. 以下工作可以向上移动 n ..
发布时间:2022-01-11 23:35:15 Python

c#中的Windows版本

我想知道PC有哪个Windows版本.. C# Framework 3.5 我尝试过使用 OperatingSystem os = Environment.OSVersion; 版本ver = os.Version; 但结果是 平台:WIN32NT 版本 6.2.9200 次要版本:2 主要版本:6 问题是我有“Windows 8 Pro".. ..
发布时间:2022-01-11 23:35:05 C#/.NET