Questions tagged «kernel»

有关UNIX内核的所有内容:开发,配置,编译,设计等。

4
如何从头开始编译C编译器,然后从头开始编译Unix / Linux
假设我在美国/英国以外的大型服务机构工作。我们广泛使用UNIX和Linux服务器。 通读本文时,提到将后门插入C编译器很容易,然后使用该编译器编译的任何代码也将包含后门。现在,鉴于最近有关NSA / GCHQ要求在所有加密方法,硬件和软件中放置后门/弱点的漏洞,编译器现在是失败的关键点。可能所有标准UNIX / Linix发行版都可能受到损害。我们无力让流氓政府破坏我们的系统,数据和客户数据。 有了这些信息,我想从头开始构建一个受信任的编译器,然后就可以建立一个安全的基础,这样我就可以使用该编译器从源代码构建操作系统和应用程序。 题 从源代码编译编译器(看似鸡蛋的场景)然后从头开始编译受信任的Unix / Linux发行版的正确(安全方式)是什么? 您可以假设我或其他人具有阅读和理解源代码的安全漏洞的能力,因此在编译之前将首先对源代码进行审查。我真正需要的是一个工作指南,可以从头开始安全地生产此编译器,并且可以用于编译内核,操作系统和应用程序的其他部分。 如果我们要对在该堆栈上运行的操作系统或应用程序有信心,则安全堆栈必须从基本级别开始。是的,我知道可能存在硬件后门,这些后门可能会在构建编译器时向编译器中插入一些微代码。目前我们对此无能为力,只能使用非美国设计的芯片。让我们首先对这一层进行排序,并假设我可以在插入任何后门之前将其构建在旧计算机上。 正如布鲁斯·施耐尔(Bruce Schneier)所说:“我向工程师说:我们建立了互联网,我们中的一些人已经颠覆了互联网。现在,那些热爱自由的人必须加以修复。” 额外链接: http://nytimes.com/2013/09/06/us/nsa-foils-much-internet-encryption.html?pagewanted=all&_r=0 http://theguardian.com/commentisfree/2013/sep/05/government-betrayed-internet-nsa-spying

11
禁用透明的大页面
我们正在RAID机器中安装SAP HANA 。作为安装步骤的一部分,提到: To disable the usage of transparent hugepages set the kernel settings at runtime with echo never > /sys/kernel/mm/transparent_hugepage/enabled 因此,如果要永久更改而不是运行时,是否应该在/proc/vmstat文件中添加以上行?
63 linux  kernel  sysctl 

5
为什么Linux内核称为“映像”?
我经常听到人们将Linux内核称为Linux内核映像,而且我似乎无法在任何搜索引擎上找到关于为何将其称为映像的答案。 当我想到一个图像时,我只能想到两件事:磁盘的副本或照片。确定地狱不是照片图像,为什么将其称为图像?


4
每个伪终端(PTY)组件(软件,主控端,从属端)的职责是什么?
我试图找出一个tty是如何工作的1(每个元素的工作流程和职责)。我读了一些有趣的文章,但是仍然有一些模糊的地方。 到目前为止,这是我的理解: 仿真终端会对/dev/ptmx伪终端的master部分进行不同的系统调用。 伪终端的主机部分在中分配一个文件/dev/pts/[0-N],该文件对应于已过时的串行端口,并将从属伪终端“附加”到该文件。 从属伪终端保留诸如会话ID,前台作业,屏幕大小之类的信息。 这是我的问题: ptmx除了分配从属部分还有其他用途吗?它提供某种“智能”,还是仿真的终端(例如xterm)具有像终端一样的所有智能? 为什么xterm只与从属部分的stdout和stdin转发,所以它必须与主控部分进行交互?为什么它不能 直接从pts文件写入和读取? 会话ID是否总是附在一个pts文件上,反之亦然?我可以输入ps命令并为相同的/ dev / pts / X找到2个sessionId吗? pts商店还提供哪些其他信息?Xterm会自己更新所有字段,还是在其上ptm添加一些“智能”? 1.我的理解基于Linus Akesson揭秘的TTY和Andries Brouwer的Linux Kernel帖子,以及这些站点上的其他几个问题

4
dmesg输出和/ var / log / messages有什么区别?
AFAIK dmesg显示有关内核和内核模块的信息,/var/log/messages还显示内核和模块产生的信息。 那有什么区别呢?请问/var/log/messages ⊂的输出dmesg? 可能会有帮助的更多信息: -有一个内核环形缓冲区,我认为这是存储内核日志数据的唯一位置。-IBM DeveloperWorks上的 文章“ 内核日志记录:API和实现 ”描述了API和鸟瞰图。
55 kernel  logs  dmesg 




5
为什么内核会丢弃数据包?
我tcpdump用Ctrl+ 打断C了总的摘要: 579204 packets captured 579346 packets received by filter 142 packets dropped by kernel 什么是“内核丢弃的数据包”?为什么会这样呢?
49 kernel  tcpdump 

7
谁在消耗我的资源化资源?
在最近升级到Fedora 15之后,我发现许多工具都因以下错误而出错: tail: inotify resources exhausted tail: inotify cannot be used, reverting to polling 也不仅仅是tail报告了inotify的问题。有什么方法可以查询内核以找出哪些进程正在消耗inotify资源?当前与inotify相关的sysctl设置如下所示: fs.inotify.max_user_instances = 128 fs.inotify.max_user_watches = 8192 fs.inotify.max_queued_events = 16384
49 fedora  kernel  inotify 

7
在GRUB中设置默认内核
如何选择默认应加载的内核GRUB2?我最近安装了linux实时内核,现在默认情况下加载。我想默认加载常规的。 到目前为止,我只设法选择了默认操作系统。由于某种原因/boot/grub.cfg,我已经假设我要加载rt-kernel并将其放入通用linux菜单项(在我的情况下为Arch Linux)。
49 linux  kernel  boot  grub 

3
什么定义了命令单个参数的最大大小?
我的印象是,这里单个参数的最大长度不是问题,而是整个参数数组的总大小加上环境的大小(最大为)ARG_MAX。因此,我认为类似以下内容的方法将会成功: env_size=$(cat /proc/$$/environ | wc -c) (( arg_size = $(getconf ARG_MAX) - $env_size - 100 )) /bin/echo $(tr -dc [:alnum:] </dev/urandom | head -c $arg_size) >/dev/null 这样- 100就足以解决shell中环境大小与echo进程之间的差异。相反,我得到了错误: bash: /bin/echo: Argument list too long 玩了一段时间后,我发现最大值比整数小了一个十六进制数量级: /bin/echo \ $(tr -dc [:alnum:] </dev/urandom | head -c $(($(getconf ARG_MAX)/16-1))) \ >/dev/null 减一时,错误返回。似乎单个参数的最大值实际上是,ARG_MAX/16并且将-1空字节放在参数数组中字符串的末尾。 另一个问题是,当重复参数时,参数数组的总大小可能更接近ARG_MAX,但仍然不够大: …
47 kernel  echo  arguments 

3
内核使用多少RAM?
当我发现Mac OS X内核使用750MB RAM 时,我震惊了这个问题。 我使用Linux已有20年了,我总是“知道”内核RAM的使用量与X相形见((是真的吗?曾经是真的吗?)。 因此,经过一番谷歌搜索后,我尝试slabtop告诉我: Active / Total Size (% used) : 68112.73K / 72009.73K (94.6%) 这是否意味着我的内核现在正在使用约72MB的RAM? (鉴于top报告Xorg的RSS为17M,内核现在使X相形见,,而不是相反)。 笔记本电脑的“正常”内核RAM使用量(范围)是多少? 为什么MacOS使用的内存要比Linux多一个数量级? PS。这里没有答案解决了最后一个问题,因此请查看相关问题: 如果在2007年中期的白色MacBook上,kernel_task通常高于130MB,是否会出现问题? 使用kernel_task 方式太多内存 kernel_task活动监视器中包含什么?
46 linux  kernel  ram 

4
如何确定虚拟地址空间中的页面大小?
Linux使用虚拟内存系统,其中所有地址都是虚拟地址,而不是物理地址。这些虚拟地址由处理器转换为物理地址。 为了简化翻译,将虚拟和物理内存分为页面。每个页面都有一个唯一的编号;页面框架号。 某些页面大小可以是2 KB,4 KB等。但是如何确定此页面大小数字?它受体系结构大小的影响吗?例如,一个32位总线将具有4 GB的地址空间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.