博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux Notes
阅读量:5051 次
发布时间:2019-06-12

本文共 2885 字,大约阅读时间需要 9 分钟。

Do what we want based on what others already did with additional abstraction and organization to service for uses.

  1. Preface
    • Provide valuable insight to pepole who want to know more about the critical design issues in a modern operating system.
    • Understand how things really work inside the machine, often called microprocessor or MPU or SoC.
    • Two ways of designing OS: design OS based on specific hardware platform, or skip the hardware-dependent details and concentrate on the pure hardware-independent parts of the kernel.
    • Efficient kernels take advantage of most available hardware features, such as addressing techniques, caches, processor exceptions, special instructions, control registers, I/O registers, memory management unit(MMU), and so on.
    • When covering hardware features, out strategy is only sketch the features that are totally hardware-driven while detailing those that need some software support.
    • shall be interested in kernel design rather than in computer architecture.
    • Learning kernel shall use the bottom-up approach, hardware-->I/0 registers-->control registers-->OS-->system call-->User app
    • Start with data structures needed to support he functions described in the chapter, Then move from the lowest level of functions to higher levels, often ending by showing how system calls issued by user applications are supported
    • Memory management, including mmp, file buffering, process swapping, and Direct memory Access
    • The virtual Filesystem layer and the Second and Third Extended Filesystems.
    • Process creation and scheduling
    • Signals, interrupts, and the essential interfaces to device drivers
    • Timing
    • Sychronization within the kernel
    • Interprocess Communication
    • Program Execution
  2. Introduction
    • Linux was initially developed by Linus Torvalds in 1991 as an OS for IBM-compatible personal computers based on the Intel 80386 microprocessor.
    • The current standards specify only an application programming interface API that is, a well-defined environment in which user programs should run.
    • Windows NT and its descendents are POSIX-compliant.
    • Unix-like kernels often share fundamental design ideas and features.
    • Adopt the best features and desgin choices of several different Unix kernels.
    • Monolithic kernel: large, complex, conventional
    • Compiled and Statically linked traditional kernels:load and unload dynamically some portions of the kernel code, device drivers which are usually called modules.
    • Kernel threading: organized as a set of kernel threads.A kernel thread is an execution context that can be independently scheduled;it may be associated with a user program, or it may run only some kernel functions. Context switches between kernel threads are usually much less expensive than context switches between ordinary processes, because the former usually operate on a common address space.
  3. adf
  4. zcv
  5. zcv
  1. dfadf

adf

转载于:https://www.cnblogs.com/iiiDragon/p/LinuxKernel.html

你可能感兴趣的文章
Easy Mock
查看>>
看看 Delphi XE2 为 VCL 提供的 14 种样式
查看>>
Python内置函数(29)——help
查看>>
机器学习系列-tensorflow-01-急切执行API
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
java中Hashtable和HashMap的区别(转)
查看>>
对Feature的操作插入添加删除
查看>>
【转】码云source tree 提交超过100m 为什么大文件推不上去
查看>>
git使用中的问题
查看>>
yaml文件 .yml
查看>>
linux字符集修改
查看>>
phpcms 添加自定义表单 留言
查看>>
mysql 优化
查看>>
读书笔记 ~ Nmap渗透测试指南
查看>>
WCF 配置文件
查看>>
oracle导出/导入 expdp/impdp
查看>>
2018.11.15 Nginx服务器的使用
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>