首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    想写一个自己的操作系统,比如Unix或Linux,最起码我需要具备些什么?需要怎么做?

    想要写一个操作系统的人大部分都是带着兴趣玩,毕竟现在主流的操作系统windows,苹果系统,linux系统属于目前比较常见的系统,其中linux内核属于开源可以看到其全部的代码,很多研究操作系统都是以linux为参考的模型,毕竟开源的代码研究起来也方便,但是对于个人来讲要去写一个操作系统难度可想而知了,曾经有个北京的同事已经工作了十几年主要的精力就是在研究底层,是个疯狂的linux内核研究者只要是是家里没事就会呆在公司加班研究linux内核,有时候一起吃饭讨论研究linux内核的主要在哪块,他讲到其实linux内核已经不是当初设计的样子了,现在的代码的更新速度之快让人发指,在全球范围内真正对于核心内核代码具备修改能力的非常有限,而且已经被国外巨头公司收到自己的公司作为储备资源。

    02

    定位Oops的具体代码行

    来自Linus Torvalds的讨论: https://groups.google.com/group/linux.kernel/browse_thread/thread/b70bffe9015a8c41/ed9c0a0cfcd31111 又,http://kerneltrap.org/Linux/Further_Oops_Insights         例如这样的一个Oops:                 Oops: 0000 [#1] PREEMPT SMP                   Modules linked in: capidrv kernelcapi isdn slhc ipv6 loop dm_multipath snd_ens1371 gameport snd_rawmidi snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd parport_pc floppy parport pcnet32 soundcore mii pcspkr snd_page_alloc ac i2c_piix4 i2c_core button power_supply sr_mod sg cdrom ata_piix libata dm_snapshot dm_zero dm_mirror dm_mod BusLogic sd_mod scsi_mod ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd                 Pid: 1726, comm: kstopmachine Not tainted (2.6.24-rc3-module #2)                 EIP: 0060:[] EFLAGS: 00010092 CPU: 0                 EIP is at list_del+0xa/0x61                 EAX: e0c3cc04 EBX: 00000020 ECX: 0000000e EDX: dec62000                 ESI: df6e8f08 EDI: 000006bf EBP: dec62fb4 ESP: dec62fa4                  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068                 Process kstopmachine (pid: 1726, ti=dec62000 task=df8d2d40 task.ti=dec62000)                 Stack: 000006bf dec62fb4 c04276c7 00000020 dec62fbc c044ab4c dec62fd0 c045336c                        df6e8f08 c04532b4 00000000 dec62fe0 c043deb0 c043de75 00000000 00000000                        c0405cdf df6e8eb4 00000000 00000000 00000000 00000000 00000000                 Call Trace:                  [] show_trace_log_lvl+0x1a/0x2f                  [] show_stack_log_lvl+0x9b/0xa3                  [] show_registers+0xa3/0x1df                  [] die+0x11f/0x200                  [] do_page_fault+0x533/0x61a                  [] error_code+0x72/0x78                  [] __unlink_module+0xb/0xf                  [] do_stop+0xb8/0x108                  [] kthread+0x3b/0x63                  [] kernel_thread_helper+0x7/0x10                  =======================                 Code: 6b c0 e8

    02
    领券