一、Linux历史

Unix强大的根本原因:

1、简洁,仅仅提供几百个系统调用并且有一个非常明确的设计目的

2、文件对待所有东西,通过一套相同的系统调用接口来进行对数据和设备的操作

3、由于用C语言编写,移植性强

4、进程创建非常迅速,使用fork()系统调用。

5、进程间通信元语,进程间通信机制

二、Linux简介

Linux是类Unix系统,Linux内核是公开软件,Linux用途广泛。

Linux系统的基础是内核、C库、工具集和系统的基本工具。

三、操作系统和内核简介

内核:管理者,操作系统的核心

通常一个内核由负责响应中断的中断服务程序和网络、进程间通信等系统服务共同组成。

提供保护机制的现代系统:内核独立于普通应用程序,一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限。内核空间:系统态与被保护的内存空间。

应用程序在用户空间执行,只允许使用部分系统资源和特定系统功能,不能直接访问硬件,不能访问内核划给别人的内存范围。

内核运行时,系统以内核态进入内核空间。执行普通用户程序时,系统以用户态进入用户空间。

系统运行的应用程序通过系统调用来与内核通信。

四、Linux内核和传统Unix内核比较

Unix内核通常需要硬件系统提供页机制管理内存;初期的Linux系统也需要MMU,有的特殊版本不依赖。

单内核与微内核设计之比较

单内核:

整体上作为一个单独的大过程,运行在一个单独的地址空间。

内核直接调用函数。

Linux是单内核。

微内核:

划分为多个独立过程(服务器),需特权服务的服务器运行在特权模式下,其他运行在用户空间。

通过消息传递处理通信。

IPC机制的开销多于函数调用。

消息传递需要一定的周期。

实际基于微内核的系统都让大部分或全部服务器位于内核。

Linux第一章读书笔记的更多相关文章

  1. 20135320赵瀚青LINUX第一章读书笔记

    第一章-Linux内核简介 Unix的历史 依旧被认为是最强大和最优秀的系统 由一个失败的操作系统Multics中产生 被移植到PDP-11型机中 由其他组织进一步开发 重写了虚拟内存系统,最终官方版 ...

  2. 2013337朱荟潼 Linux第一章读书笔记——Linux内核简介

    一.Unix历史 二.Linux足迹 类Linux系统.非商业化产品.用途广泛 三.操作系统和Linux内核简介 1.操作系统 (1)是指在整个最基本功能系统中负责完成最基本功能和系统管理的部分. ( ...

  3. 《从Paxos到Zookeeper:分布式一致性原理与实践》第一章读书笔记

    第一章主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战,并简要介绍了ACID.CAP和BASE等经典分布式理论,主要包含以下内容: 集中式的特点 分布式的特点 分布式环境的各种问题 ACI ...

  4. 《Ansible自动化运维:技术与佳实践》第一章读书笔记

    Ansible 架构及特点 第一章主要讲的是 Ansible 架构及特点,主要包含以下内容: Ansible 软件 Ansible 架构模式 Ansible 特性 Ansible 软件 Ansible ...

  5. 《Metasploit渗透测试魔鬼训练营》第一章读书笔记

    第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...

  6. 20135320赵瀚青LINUX第二章读书笔记

    第二章-从内核出发 获取内核代码 使用git 获取最新提交到版本树的一个副本 $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/tor ...

  7. Android深度探索--HAL与驱动开发----第一章读书笔记

    1. Android的系统架构有四层,它的发展目前来说 是比较成熟的,流行于目前的市场.其架构包括四层(linux内核.C/C++代码库.Android SDK API.应用程序). 2. 驱动是直接 ...

  8. Linux第二章读书笔记

    1.获取内核源码 1.1Git 分布式的:下载和管理Linux内核源代码: - 获取最新提交到版本树的一个副本 $ git clone git://git.kernel.org/pub/scm/lin ...

  9. 2013337朱荟潼 Linux第二章读书笔记——从内核出发

    1.获取内核源码 1.1Git 分布式的:下载和管理Linux内核源代码: - 获取最新提交到版本树的一个副本 $ git clone git://git.kernel.org/pub/scm/lin ...

随机推荐

  1. NOIP2018考前抱佛脚——图论基础复习

    目录 存图方式 邻接矩阵存图 邻接表存图 链式前向星 最小生成树 例1 P1536 村村通 题目描述 输入输出格式 输入输出样例 标程 例2 P1546 最短网络 Agri-Net 题目背景 题目描述 ...

  2. node+koa中转层开发实践总结

    node中转层的意义: 1.能解决前后端代码部署在不同服务器下时的跨域问题.(实现) 2.合并请求,业务逻辑处理.(实现) 3.单页应用的首屏服务端渲染.(暂未实现) 环境准备: node: ^8.1 ...

  3. AndroidStudio编译error:app:validateReleaseSigning'Keystore file not found for signing config 'release

    使用AndroidStudio编译时提示error: Error:Execution failed for task ‘:app:validateReleaseSigning’. > Keyst ...

  4. 支付宝即时到账接口开发 - DEMO讲解

    支付宝即时到帐接口 环境要求 PHP5.0以上,且需要开启curl.openssl. 文档地址: https://doc.open.alipay.com/doc2/detail?treeId=62&a ...

  5. WebService 的CXF框架 WS方式Spring开发

    1.建项目,导包. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  6. XML 读写(XmlDocument、XPathNavigator、XDocument)

    内存中的 XML 处理 基于流的 XML 处理提供了最小的负载,但也只提供了最小的灵活性.在很多 XML 处理场景里,你不会在这么低的层次下工作. 对内存中的 XML 的处理则更加方便,但没有单一.标 ...

  7. ICC2 常用命令

    1. 关于 data preparation : report_ref_libs : report reference library report_lib  lib_aa : report the ...

  8. Python2.7-hmac

    hmac 模块,基于密钥的哈希算法 1.模块对象 1.1 HMAC 对象 1.1.1 初始化构建类:需要通过模块方法 hmac.new(key[, msg[, digestmod]]) 创建一个新对象 ...

  9. 使用react-navigation时报错:undefined is not an object (evaluating rngesturehandlermodule.direction)

    问题: 使用react-navigation时报错:undefined is not an object (evaluating rngesturehandlermodule.direction). ...

  10. Arduino入门笔记(4):用蜂鸣器演奏音乐并配有LED闪烁

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...