zoukankan      html  css  js  c++  java
  • Linux第一章读书笔记

    一、Linux历史

    Unix强大的根本原因:

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

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

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

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

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

    二、Linux简介

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

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

    三、操作系统和内核简介

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

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

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

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

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

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

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

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

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

    单内核:

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

    内核直接调用函数。

    Linux是单内核。

    微内核:

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

    通过消息传递处理通信。

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

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

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

     

  • 相关阅读:
    Android服务之bindService源代码分析
    [iOS 高级] iOS远程推送与本地推送大致流程
    redis集群
    面试你之前,我希望在简历上看到这些!
    解决安卓出现导入第三方包反复的错误
    【PA2012】【BZOJ4289】Tax
    Spark jdbc postgresql数据库连接和写入操作源代码解读
    Java中hashcode的理解
    CvArr、Mat、CvMat、IplImage、BYTE转换
    CSDN日报20170413 ——《天天写业务代码的那些年,我们是怎样成长过来的》
  • 原文地址:https://www.cnblogs.com/20135121conan/p/5284238.html
Copyright © 2011-2022 走看看