Linux第一章读书笔记
2024-10-18 01:45:45
一、Linux历史
Unix强大的根本原因:
1、简洁,仅仅提供几百个系统调用并且有一个非常明确的设计目的
2、文件对待所有东西,通过一套相同的系统调用接口来进行对数据和设备的操作
3、由于用C语言编写,移植性强
4、进程创建非常迅速,使用fork()系统调用。
5、进程间通信元语,进程间通信机制
二、Linux简介
Linux是类Unix系统,Linux内核是公开软件,Linux用途广泛。
Linux系统的基础是内核、C库、工具集和系统的基本工具。
三、操作系统和内核简介
内核:管理者,操作系统的核心
通常一个内核由负责响应中断的中断服务程序和网络、进程间通信等系统服务共同组成。
提供保护机制的现代系统:内核独立于普通应用程序,一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限。内核空间:系统态与被保护的内存空间。
应用程序在用户空间执行,只允许使用部分系统资源和特定系统功能,不能直接访问硬件,不能访问内核划给别人的内存范围。
内核运行时,系统以内核态进入内核空间。执行普通用户程序时,系统以用户态进入用户空间。
系统运行的应用程序通过系统调用来与内核通信。
四、Linux内核和传统Unix内核比较
Unix内核通常需要硬件系统提供页机制管理内存;
初期的Linux系统也需要MMU,有的特殊版本不依赖。
单内核与微内核设计之比较
单内核:
整体上作为一个单独的大过程,运行在一个单独的地址空间。
内核直接调用函数。
Linux是单内核。
微内核:
划分为多个独立过程(服务器),需特权服务的服务器运行在特权模式下,其他运行在用户空间。
通过消息传递处理通信。
IPC机制的开销多于函数调用。
消息传递需要一定的周期。
实际基于微内核的系统都让大部分或全部服务器位于内核。
最新文章
- 2748: [HAOI2012]音量调节 bzoj
- iOS开发 沙盒路径和使用
- PostgreSQL avg()函数
- ASP.Net页面刷新后自动滚动到原来位置
- IOCP I/O完成端口(了解)
- hdu 4414 Finding crosses
- js key事件 keyCode大全
- Google DNS劫持背后的技术分析
- IO-02
- muduo简化(1):Reactor的关键结构
- Saltstack的部署及其详解
- Thinkjs学习1—概述及MVC的粗略理解
- iOS之创建一个常驻线程
- Java常用排序算法
- Silverlight界面设计
- css 1) calc() 函数的使用. 2)box-sizing:border-box
- 机器学习实战(Machine Learning in Action)学习笔记————08.使用FPgrowth算法来高效发现频繁项集
- 阿里云免费SSL证书绑定+sever2012 IIS配置
- ios的一些经验记录1
- 一点二次插值、二点二次插值 ,matlab
热门文章
- T4学习- 4、Kalman Studio-T4代码生成器
- Programming Assignment 3: Pattern Recognition
- 阿里八八Alpha阶段Scrum(7/12)
- PyQt5---firstwindow
- DFS的运用(二分图判定、无向图的割顶和桥,双连通分量,有向图的强连通分量)
- http的长连接和短连接(数据库也一样)
- linux 的常用命令---------第九阶段
- Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-1-cli
- pytorch GPU的程序kill后未释放内存
- ubuntu系统中Qt creator 编辑和应用使用中文输入法