一、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. unity StrangeIoc

    已经很久没有写博客,主要原因还是自我荒废了太久,在学习上失去了动力.最近来新的公司实习,以前都是做项目的开发,现在被调到框架组,主要从事的是框架维护还有开发.学习了许多新的知识还有优秀的框架,今天就写 ...

  2. ubuntu环境下docker的安装与操作

    只要按照本文的步骤一步步的走,就能正确的安装docker并使用,ubuntu需要联网 1. 在Ubuntu中安装Docker 更新ubuntu的apt源索引 sudo apt-get update 安 ...

  3. SQL SERVER 2005镜像配置(有无见证服务器都行)

    我用的是没有见证的,但找的文章里有镜像,所以都做一下补充,两个网址做的参考, 之所以在从他们那再补充一次是为了怕有一天他们的文章被删了我这还有个备用的,这两篇写的不错 其他的都不行 特别乱,这是找的最 ...

  4. 关于Javascript的des加密

    参考文章:https://www.cnblogs.com/MSMXQ/p/4484348.html 需要先下载CryptoJS文件,然后引入其中的两个文件,可以在github中找到. 直接上代码 &l ...

  5. BZOJ3105:[CQOI2013]新Nim游戏(线性基,贪心)

    Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴 ...

  6. Scala学习之路 (七)Scala的柯里化及其应用

    一.概念 柯里化(currying, 以逻辑学家Haskell Brooks Curry的名字命名)指的是将原来接受两个参数的函数变成新的接受一个参数的函数的过程.新的函数返回一个以原有第二个参数作为 ...

  7. 2018-2019-2 20165302 Exp5 MSF基础应用

    1.实验目的 掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路 2.实验内容 一个主动攻击实践; (1分) MS17-010 一个针对浏览器的攻击:(1分) ms14_064 一个 ...

  8. 向大家推荐一个在.Net下使用C#语言和Managed DirectX 9开发游戏的视频教程

    视频教程:3D游戏开发步步高系列课程(微软课堂).美中不足的是视频的声音和画面不太对应.专心的听声音,听老师讲解吧. PPT和源码下载:3D游戏开发步步高系列课程-PPT和源码 网址链接:3D游戏开发 ...

  9. PAT B1040 有几个PAT (25 分)

    字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T). 现 ...

  10. 重写Override和重加载Overload

    1.方法的重写规则 参数列表必须完全与被重写方法的相同: 返回类型必须完全与被重写方法的返回类型相同: 访问权限不能比父类中被重写的方法的访问权限更低.例如:如果父类的一个方法被声明为public,那 ...