Tag: 系统

malloc期间在内核中会发生什么?

面试中我被问到了这个问题。 他们想知道的是,当用户调用malloc(4)分配4个字节的内存时,操作系统(Linux)如何响应? 哪个子系统响应这个系统调用? 我告诉他malloc()将由内存pipe理子系统服务。 malloc()实现将遍历空闲内存列表(物理内存),我们将其称为空闲列表,并find大于或等于4字节的相应块。 一旦find这样的块,它将从空闲列表中删除并添加到使用的列表。 然后,这个物理内存将被映射到进程堆vma结构。 他似乎对这个答案并不满意。伙伴系统如何适应这个问题呢? 任何帮助将不胜感激。

系统调用时无需在R中调用shell

在R中,调用系统命令有3个主要机制: system , system2和shell (似乎与system共享一个联机帮助页)。 没有一个提供了非常可靠的跨平台方式来运行系统命令,而没有shell的阻碍 – 如果shell干预,我们需要担心shell注入攻击,确保引用是正确的,等等。 某些语言提供对C级execvp函数(例如Perl的system PROGRAM LIST机制)的直接访问,当我想要确保数组中的string恰好是subprocess将在其参数中看到的string时,这是非常有用的寻找embedded式空白,引号等适当的引用例程,并担心他们将在不同的平台和不同版本的shell上执行什么操作。 R中是否有类似的无shell系统调用机制,可能在某个CRAN包中? 和/或是否有任何build立这样的机制,如果没有一个胃口?

如何在Qt中运行系统命令?

我必须在Qt中运行一个系统命令。 但是我必须为这个命令提供一个论据。 例如用文本文件打开gedit。 像“gedit /home/oDx/Documents/a.txt” 但path“/home/oDx/Documents/a.txt”将在像“docPath”这样的variables中。 所以我该怎么做呢?

真的1 KB(KiloByte)等于1024字节?

到现在为止,我相信1024字节等于1 KB(千字节),但我正在网上阅读关于十进制和二进制系统。 所以,实际上1024字节= 1 KB将是定义的正确方法,或者只是一般的混淆? 对不起,如果我的问题太傻了。 提前致谢。

你如何从PHP运行.bat文件?

任何人都可以告诉我如何从PHP脚本执行.bat文件? 我努力了: exec("C:\[path to file]"); system("C:\[path to file]"); 没有任何工作。 我已经检查了PHP手册并search了一下,但找不到一个好的答案。 任何人都知道我要去哪里错了? 我正在运行Windows 2003 Server,并成功地手动运行.bat文件,它做我所需要的; 我只需要能够以编程方式启动它。

将R向量转换为1个元素的string向量

我正在使用编程语言R现在。 我有一个vector: a <- c("aa", "bb", "cc") 我想将这些粘贴到系统命令中,现在我正在尝试这种方式: args <- paste(a, sep=" ") system(paste("command",args, sep=" ")) 但现在我只得到论据aa,我想要的论据aa,bb和cc … 任何人都知道我在做什么错了?

Elo评分系统:玩家可以不断join游戏的初始值

我已经在游戏中实现了一个Elo评分系统。 号码玩家没有限制。 玩家可以不断地join游戏,所以玩家的数量可能会逐渐增加。 如何精确地计算Elo值并不重要,因为这个事实:如果A队击败B队,那么A的Elo胜平等于B的Elo损失。 因此,我的评分系统的初始值有一个问题: 我是否应该为每个玩家使用起始值“0”? 所有Elo值的总和将是不变的。 但是由于球员人数在增加,会出现某种Elo通货紧缩,不是吗? 我应该使用任何大于0的起始值吗? 在这种情况下,所有Elo值的总和将不断增加。 所以可能会有一个Elo通货膨胀。 问题:Elo点失去价值,但始终保持不变。 我该怎么办? 你可以帮我吗? 提前致谢!

有没有办法来防止从sys.exit()引发SystemExitexception被捕获?

文档说,调用sys.exit()引发了一个SystemExitexception,可以在外层捕获。 我有一种情况,我想明确地,毫无疑问地从testing用例中退出,但是unittest模块捕获SystemExit并阻止退出。 这通常很好,但是我想要处理的具体情况是我们的testing框架检测到它被configuration为指向非testing数据库。 在这种情况下,我想退出并阻止任何进一步的testing运行。 当然,由于unit testing陷阱SystemExit并继续愉快,它阻碍了我。 我迄今唯一想到的select是使用ctypes或类似的东西直接调用exit(3),但是对于一些应该非常简单的事情来说,这看起来像是一个非常糟糕的黑客攻击。

什么是比Windows默认更好的文件副本?

我需要在计算机上复制数百个随机文件,并且非常喜欢使用内置在Windows中的vanilla文件副本。 我不希望它挂在“你确定吗?”,“你确定吗?”,“甚至压缩文件?”,“肯定不是只读文件! 只要我离开,就循环。 我不想让它工作几个小时,然后意外停止:“有人曾经打开这个文件,所以我不会复制它!” 然后取消整个副本,或者只是退出,没有说明做了什么,还有什么工作。 你有什么文件pipe理程序的经验? 你推荐哪个? 这个问题与我的另一个问题有关: 我怎样才能在我的较新的仅限SATA的计算机上使用旧的PATA硬盘驱动器?

一个terminal命令,用于根Android重新挂载/系统作为读/写

我正在写一个android应用程序,需要在运行时将文件复制到“/ system”分区。 我有命令运行“su”,并可以成功地请求超级用户的权限,并以root身份运行命令。 但我不知道如何使这个应用程序跨多个设备通用,因为mount命令可以根据系统实际挂载的位置而有所不同。 这是最常用的命令: mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system 但是我知道mtdblock3在某些设备上可能会有所不同(对于这个问题,我想可能是yaffs2)。 所以,我的问题是:是否有一个可以在所有手机上使用的通用命令? 或者有没有办法在运行时找出正确的参数是什么?