Linux Notes
Do what we want based on what others already did with additional abstraction and organization to service for uses.
- 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
- 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.
- adf
- zcv
- zcv
- dfadf
adf





Linux Notes的更多相关文章
- Linux Notes | Linux常用命令行笔记
[ show all running processes ] (1) ps -aux | less 'ps' means: Process Status The -a option tells ps ...
- Linux Notes:Linux下的远程登录协议及软件
常见的远程登录协议 1.RDP(remote desktopp protocol)协议,windows远程桌面协议 2.telnet CLI 界面下远程管理,几乎所有的操作系统都有,数据明文传输,不安 ...
- 对于linux下system()函数的深度理解(整理)
原谅: http://blog.sina.com.cn/s/blog_8043547601017qk0.html 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同 ...
- 转:对于linux下system()函数的深度理解(整理)
这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为 ...
- 【C/C++】Linux下system()函数引发的错误
http://my.oschina.net/renhc/blog/54582 [C/C++]Linux下system()函数引发的错误 恋恋美食 恋恋美食 发布时间: 2012/04/21 11:3 ...
- (笔记)Linux下system()函数的深度理解(整理)
注:从其它地方转的非常好的一篇文章,值得深究! 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数 ...
- [转载]Linux下关于system调用
曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入.只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值.它所执行命令的返回值以及命令执行失败原 ...
- linux system函数引发的错误
转: https://my.oschina.net/renhc/blog/54582 先看一下问题 简单封装了一下system()函数: int pox_system(const char *cm ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
随机推荐
- 查看linux上面是否有安装redis
- Docker实战:更轻松、更愉快、更高效
编者按:借助Docker,我们可以更容易地进行web应用部署,而同时不必头疼于项目依赖.环境变量以及各种配置问题,Docker可以快捷.高效地处理好这一切.而这也是本教程所要实现的主要目的.以下是作者 ...
- 查找checked的checkbox和raido
<fieldset id="checkArray"> <input type="checkbox" name="chk[]" ...
- HDU 1102 Constructing Roads(kruskal)
Constructing Roads There are N villages, which are numbered from 1 to N, and you should build some r ...
- html/css元素
块级元素 会独占一行,多个block元素会各自新起一行.默认情况下,block元素宽度自动填满其父元素宽度. 可以设置width,height属性.块级元素即使设置了宽度,仍然是独占一行. 可以设置m ...
- 浅谈.net MVC
大学毕业对MVC的概念还不是很清晰,总觉得MVC是和三层一样的,是同一级别的架构.其实不然,三层架构是:BLL(业务逻辑层),DAL(数据库访问层),UI(页面显示层),而MVC仅仅是属于三层架构UI ...
- RabbitMQ入门教程系列
https://blog.csdn.net/column/details/18247.html
- 第9天:原型、继承、函数使用推荐以及this的指向
原型 javascript原型指向改变如何添加方法和访问 <!DOCTYPE html> <html lang="en"> <head> < ...
- vs2015中的数据库架构对比工具(New Schema Comparison)
大家都知道VS里的功能多到你根本没用过,今天来说说这个New Schema Comparison,他能做的事情就是在vs中对比我们两个数据库的架构.结构,并且能够更新过去或者生成脚本. Step.1( ...
- linux中find与rm实现查找并删除文件
find命令: find . -name '*.log' #查找当前目录下的log文件 查找并删除: find . -name '*.log' -type f -print -exec rm -rf ...