查看/proc/interruptsx86 Linux 上的内容,我看到一些中断IO-APIC-edge是IO-APIC-level.
我想知道是什么决定了中断类型,是中断产生设备、中断控制器(APIC)、Linux内核还是BIOS?
(我想知道的原因是因为我将 PCI 卡从双处理器 Pentium III 系统IO-APIC-level移到了双处理器 Xeon 系统,在那里它被识别为IO-APIC-edge)
我只是mplayer2 从源 ( git://git.mplayer2.org/mplayer2-build.git)编译,因为存储库 (ubuntu 12.04) 版本在我的系统上不起作用。由于我有旧硬件,我只是想知道是否有一些编译器标志可以用来为我的硬件优化它。
CPU 是 Athlon XP 2200+(移动),1GB RAM,显卡:Nvidia GeForce4 420 Go。
我也想在另一个具有类似规格的旧系统上做同样的事情:
CPU:Athlon 1,2 GHZ,1GB RAM,图形:[SiS] 65x/M650/740
我从 fdcserver 订购了一个服务器。然后我意识到,除非更改,否则 fdcserver 实际上默认提供 32 位操作。
我使用 SSH 登录,输入uname -m,令我震惊的是我看到我实际上运行的是 32 位 Linux。
我肯定会在接近月底时改变这一点。同时,这个 32 位操作系统的限制是什么?
我可以使用服务器安装的所有 32 GB 内存吗?
$ uname -a
Linux kali 4.3.0-kali1-amd64 #1 SMP Debian 4.3.3-5kali4 (2016-01-13) x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description: Kali GNU/Linux Rolling
Release: kali-rolling
Codename: kali-rolling
Run Code Online (Sandbox Code Playgroud)
最近,我从 hex-rays 网站下载了 IDA Demo。下载并解压缩后,我移动到它的目录内容。但是当我运行 ./idaq 命令时。我收到了:
$ ./idaq
bash: ./idaq: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我试图运行这个命令
$ file ./idaq
./idaq: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked,
interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24,
BuildID[ha1]=2b4f4a30e791c6fa175a4d44c868ea9ac8f9d7da, stripped
Run Code Online (Sandbox Code Playgroud)
然后我知道它是一个 32 位的目标文件。经过一些谷歌搜索后,我转到此页面在 64 位系统上运行 32 位二进制文件时获取“未找到”消息 …
我需要构建一个可以在 ACTUAL 386 类硬件上运行的最小 Linux 环境。我知道我必须使用内核 <3.8,这不是问题。问题在于glibc,因为似乎最近的版本(现在我尝试过Glibc-2.23)仅使用 386 代码不起作用(甚至编译)。我设法为 i486 编译,但它在实际硬件上不起作用。我已经在许多不同的 486 系统上测试过,问题总是一样的 - 内核启动,挂载rootfs,然后执行init,失败并sysdeps/i386/cacheinfo.c在函数handle_intel中出现错误,错误是断言maxcpuid>=2失败,此时系统挂起。在 i586 类机器(Intel Pentium、Pentium MMX)上也会发生同样的情况。使用 i686 类硬件(Pentium PRO 及更高版本)一切正常。不幸的是,所有软件包(包括 glibc)都带有-march=i486 -mcpu=i486标志,gcc-5.3.0使用“现成的”旧 PC 发行版(如 dslinux 或 puppylinux)是不可能的,因为这些非常过时且有限。有任何想法吗?
考虑以下:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave
$ cat /proc/config.gz | gunzip | grep -i ondemand
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
Run Code Online (Sandbox Code Playgroud)
我不明白为什么ondemand没有可用的州长。我还需要在哪里查看以及我需要做什么才能启用ondemand?
我看到了很多解决问题的解决方案,例如
非法指令(核心转储)
但是,我想知道这到底是什么意思?是什么导致了该错误,其根本原因是什么?CPU 是否得到了它认为是指令但无法解码的人?引擎盖下会发生什么来产生该错误?
从dmesg,我看到
[429572.598803] traps: test[4054] trap invalid opcode ip:400066 sp:ffac8cc0 error:0 in test[400000+1000]
[429758.598292] traps: test[4401] trap invalid opcode ip:400066 sp:ffa3f990 error:0 in test[400000+1000]
[430066.170626] traps: test[4854] trap invalid opcode ip:400066 sp:ff8ab000 error:0 in test[400000+1000]
[430439.855002] traps: test[5212] trap invalid opcode ip:8048071 sp:ffce2fa0 error:0 in test[8048000+1000]
Run Code Online (Sandbox Code Playgroud) 我john在 Kali x86 中有点问题。长话短说,我不允许john在安装到 LV 的 Kali Linux 2.0 下运行,但我记得我能够在 VM 中运行旧版 Kali 和旧版 john。错误是:
抱歉,此版本需要 SSE2
好吧,我认为 Kali 以足够的 CPU 运行,所以我查看了它,每个核心的结果如下:
root@kali:~# cat /proc/cpuinfo
model name : Intel(R) Core(TM)2 Duo CPU T5800 @ 2.00GHz
microcode : 0xa4
cpu MHz : 800.000
cache size : 2048 KB
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm …Run Code Online (Sandbox Code Playgroud) 我正在为计算机安全考试而学习,我正在努力理解以下示例问题。
'解释在 x86 上在 ring 0 中运行和在 Linux 中作为 UID 0 运行之间的区别。举一个例子,说明每个人都能实现但另一个不能。'
我目前的理解是 x86 上的 ring 0 是最高特权的操作系统级别,内核代码在 ring 0 中运行。 UID 0 是基本上可以运行任何东西的 linux 超级用户。以我目前对这些概念的理解,我不明白如何回答这个问题。
请注意,这不是作业问题,也不是我要评分的问题,它只是学习材料。
我的来宾操作系统是 x86(.vmdk 格式),从 QEMU 文档看来,由于我的主机是 ARM Raspberry Pi 3,即使在内核中启用 KVM,我也无法利用它。
那是对的吗?