Questions tagged «kernel»

内核是大多数操作系统的主要组件,它管理着计算机在硬件和软件之间的大部分通信。通常,内核是程序员对资源必须具有的最低抽象级别。

5
是否允许非root用户进程绑定到端口80和443?
是否可以调整内核参数以允许用户级程序绑定到端口80和443? 我问的原因是我认为允许特权进程打开套接字并进行监听是愚蠢的。任何打开套接字并进行侦听的操作都是高风险的,并且高风险的应用程序不应以root用户身份运行。 我宁愿尝试弄清哪个非特权进程正在侦听端口80,而不是尝试删除具有root特权的恶意软件。


11
可执行文件需要OS内核才能运行吗?
我知道在编译源代码(例如C ++)时,编译器的输出是机器代码(可执行),我认为这是直接向CPU发出的指令。最近,我正在阅读内核,发现程序无法直接访问硬件,而必须通过内核。 因此,当我们编译一些简单的源代码(例如仅使用一个printf()函数)并且编译产生可执行的机器代码时,该机器代码中的每条指令将直接从内存中执行(一旦代码由OS加载到内存中)或机器代码中的每个命令仍然需要通过操作系统(内核)才能执行? 我读过类似的问题。它没有说明编译后生成的机器代码是直接向CPU发出的指令,还是需要再次通过内核来为CPU创建正确的指令。即,将机器代码加载到内存后会发生什么?它会通过内核还是直接与处理器对话?

7
为什么第一条BIOS指令位于0xFFFFFFF0(RAM的“顶部”)?
我知道BIOS从0xFFFFFFF0加载其第一条指令,但是为什么要使用这个特定地址?我有很多问题,希望您至少可以帮助我。 我的问题: 为什么第一条BIOS指令位于4 GB RAM的“顶部”? 如果我的计算机只有1 GB RAM,将会发生什么? 拥有超过4 GB RAM(例如8 GB,16 GB等)的系统怎么办? 为什么用某个值(在这种情况下,值为0xFFFFFFF0)初始化堆栈? 我今天下午已经读到了那本书,但我仍然不明白。
51 boot  memory  bios  kernel 

5
linux内核怎么这么小?
普通稳定的3 *内核现在约为70 mb。 但是有很少的Linux发行版30-10 MB,软件和其他东西开箱即用。 Linux内核如何在这些发行版中如此之小? 只拆卸不需要的模块和驱动程序可以大大减小尺寸吗? 还有什么办法来减少内核大小?
50 linux  kernel 

2
内核以外的操作系统中有什么
据我了解,内核完成与硬件的所有交互,并管理内存,I / O设备等。因此,内核可以完成所有工作,但它只是操作系统的一部分。那么,操作系统还有什么呢?只是捆绑在一起的应用程序?例如,Ubuntu除了内核还有什么?Gnome桌面和其他一些应用程序?

2
是否可以从源代码编译Darwin Distro,就像可以构建Linux Distro一样?
我已经阅读并进行了Linux From Scratch(和BLFS)的安装,我想知道,我是否可以按照本指南通过替换xnu内核来创建Darwin发行版?该过程与LFS中概述的过程有很大不同吗? 我目前的理解是,使系统“ Darwin”而不是“ Linux”所需的全部是内核替换。这个对吗? 编辑: 为了回应杀人主义者的评论,我将完善这个问题。我通常在寻找有关此主题的信息时,特别要寻找的是“ Darwin Distro创建指南 ”,就像LFS是“ Linux Distro创建指南 ”一样。 我很高兴知道这些信息可能仅来自Puredarwin,OpenDarwin或GNU / Darwin的人员,因此这是向他们寻求帮助的一种方式。像LFS这样的“ How-We-Made-PureDarwin-Nano-Start-To-Finish ”指南将是完美的,但是我知道这要求很多。
42 linux  kernel  darwin 

6
内核是一个进程吗?
在Linux中,我们总是说第一个过程是init(pid == 1)。但是,为什么不设置系统并创建init进程的内核(启动)呢 ?内核是一个进程吗? 我们知道所有用户空间线程都植根于init进程。那么调度程序和其他内核内容(例如内存管理)又如何呢? 基本上,令我困惑的是内核的结构。如果它是一个过程,是单个过程还是由多个过程组成?
30 linux  kernel 


6
如何向grub2添加新内核
此问题是从Stack Overflow 迁移而来的,因为可以在Super User上回答。 迁移 9年前。 我们如何向grub2添加内核?我知道我们可以使用以前的版本进行处理,但是似乎已经改变。我们应该编辑哪些文件?
24 linux  ubuntu  kernel  grub 

3
内核NTFS驱动程序与NTFS-3G
自从我无法访问另一个问题以来,这是一个更全面的措词问题。 我要删除另一个,而不是这个,因为它不应该首先迁移。 当前有两个可用于Linux的NTFS驱动程序。 内核中包含的NTFS驱动程序,以及使用FUSE的用户空间NTFS-3G驱动程序。 众所周知,NTFS-3G可以完美运行。 那么我的问题是,如果NTFS文件系统已成功进行反向工程,为什么内核NTFS团队未在驱动程序中实施更改?目前,它仍然被标记为实验性的,很有可能破坏您的数据。 注意:这与发行绝对无关...

2
如何诊断不断膨胀的OS X kernel_task和有线内存使用情况?
我有一个非常奇怪的问题,我很难对根本原因进行诊断。 我有一个Mac Pro(2008、8核2.8 GHz,8800GT)和14 GB的RAM(由于这个问题,最近进行了升级!)。 当我引导系统并登录时,vm_stat / top / Activity Monitor将显示kernel_task已分配了大约150 MB,而计算机已分配了大约800 MB的有线内存。 即使最初,800 MB似乎分配了很多有线内存,而没有运行任何应用程序-但是,情况变得更糟。(注意:有线已锁定,不可交换的内存) 在很短的时间后,有时是由启动终端之类的简单操作触发的,kernel_task将膨胀到8-900 MB的Real Mem(RSIZE),而Wired Memory将加速到1.6 GB(这意味着所有额外的内存请求都针对内核中的有线RAM)。 如果我退出所有内容(即:没有正在运行的应用程序,禁止活动监视器或终端查看顶部),则kernel_task RSIZE或有线内存使用率均不会显着降低。相反,向系统加载任务也表明有线内存不会减少-重要的是,它不会优先于大量交换而减少。 如果我注销并再次登录,它会减少一点(450 MB kernel_task,1.28 GB有线),但不会重新开始。 我没有运行任何古怪的kext秒-和futhermore,kextstat没有显示出巨大的内存分配出现; 最大的是com.apple.nvidia.nv50hal,其内存约为4 MB。 发生这种情况时,机器总体上感觉更加缓慢-毫不奇怪,因为如此大量的RAM被标记为不可分页。 所以我有几个问题: 1)有没有一种好的方法来诊断什么分配了所有此有线内存?它通常是kernel_task大小的2倍以上,不运行任何应用程序。实际的内存总数似乎并没有增加-似乎有一堆RAM并未在任何地方被占用。 2)发生什么情况导致内核突然需要6倍的内存?

3
如何知道noatime或relatime是内核中的默认挂载选项?
我试图知道是否在文件系统上设置了relatime或noatime,但是我没有在/ etc / fstab中,也没有在内核引导选项中找到该信息。 首先,很明显我一次没有“正常”行为: root@antec:/tmp# rm -f test.txt; echo a>test.txt root@antec:/tmp# stat test.txt | \grep -i 2011 Access: 2011-08-01 21:54:30.000000000 +0200 Modify: 2011-08-01 21:54:30.000000000 +0200 Change: 2011-08-01 21:54:30.000000000 +0200 root@antec:/tmp# cat test.txt > /dev/null root@antec:/tmp# stat test.txt | \grep -i 2011 Access: 2011-08-01 21:54:53.000000000 +0200 Modify: 2011-08-01 21:54:30.000000000 +0200 …

9
Ubuntu安装上的vmlinux在哪里?
我正在尝试启动oprofile,并且在此步骤遇到了问题: opcontrol --vmlinux=/path/to/vmlinux Ubuntu没有名为vmlinux的软件包,当我执行时locate vmlinux,我得到了很多文件: /usr/src/linux-headers-2.6.28-14/arch/h8300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-14/arch/m68k/kernel/vmlinux-std.lds /usr/src/linux-headers-2.6.28-14/arch/m68k/kernel/vmlinux-sun3.lds /usr/src/linux-headers-2.6.28-14/arch/mn10300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-14/arch/sh/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-14/arch/x86/boot/compressed/vmlinux_32.lds /usr/src/linux-headers-2.6.28-14/arch/x86/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-14/include/asm-generic/vmlinux.lds.h /usr/src/linux-headers-2.6.28-15/arch/h8300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-15/arch/m68k/kernel/vmlinux-std.lds /usr/src/linux-headers-2.6.28-15/arch/m68k/kernel/vmlinux-sun3.lds /usr/src/linux-headers-2.6.28-15/arch/mn10300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-15/arch/sh/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-15/arch/x86/boot/compressed/vmlinux_32.lds /usr/src/linux-headers-2.6.28-15/arch/x86/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-15/include/asm-generic/vmlinux.lds.h /usr/src/linux-headers-2.6.28-16/arch/h8300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-16/arch/m68k/kernel/vmlinux-std.lds /usr/src/linux-headers-2.6.28-16/arch/m68k/kernel/vmlinux-sun3.lds /usr/src/linux-headers-2.6.28-16/arch/mn10300/boot/compressed/vmlinux.lds /usr/src/linux-headers-2.6.28-16/arch/sh/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-16/arch/x86/boot/compressed/vmlinux_32.lds /usr/src/linux-headers-2.6.28-16/arch/x86/boot/compressed/vmlinux_64.lds /usr/src/linux-headers-2.6.28-16/include/asm-generic/vmlinux.lds.h 我要寻找的是哪一个?
16 linux  ubuntu  kernel 

4
为什么Centos仍不使用最新内核
正如我所看到的,内核3.xx中有许多更改和改进 我喜欢的改进是内核3.9中引入的dmcache 我在所有机器上安装了3个安装了centos的服务器 Centos仍使用2.6.xx的旧内核 我想知道为什么他们不升级内核? 资源资源 凯尔·曼纳(Kyle Manna)关于Linux DM缓存的博客 dm-cache(维基百科) Centos(维基百科)
15 linux  ssd  centos  kernel  centos-6 

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.