zoukankan      html  css  js  c++  java
  • linux内核分析 1、2章读书笔记

    一、linux历史

    20世纪60年代,MIT开发分时操作系统(Compatible TIme-Sharing System),支持30台终端访问主机;
    
    1965年,Bell实验室、MIT、GE(通用电气公司)准备开发Multics系统,为了同时支持300个终端访问主机,但是1969年失败了;
    ~刚开始并没有鼠标、键盘,输入设备只有卡片机,因此如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过;
    ~Multics:Multiplexed Information and Computing Service
    
    1969年,Ken Thompson(C语言之父)利用汇编语言开发了FIle Server System(Unics,即Unix的原型)
      	因为汇编语言对于硬件的依赖性,因此只能针对特定硬件;
     	只是为了移植一款“太空旅游”的游戏;
    
    1973年,Dennis Ritchie和Ken Thompson发明了C语言,而后写出了Unix的内核
    	将B语言改成C语言,由此产生了C语言之父;
    	90%的代码是C语言写的,10%的代码用汇编写的,因此移植时只要修改那10%的代码即可;
    
    1977年,Berkeley大学的Bill Joy针对他的机器修改Unix源码,称为BSD(Berkeley Software Distribution)
      	Bill Joy是Sun公司的创始人;
    
    1979年,Unix发布System V,用于个人计算机;
    
    1984年,因为Unix规定:“不能对学生提供源码”,Tanenbaum老师自己编写兼容于Unix的Minix,用于教学;
    
    1984年,Stallman开始GNU(GNU's Not Unix)项目,创办FSF(Free Software Foundation)基金会;
      	产品:GCC、Emacs、Bash Shell、GLIBC;
     	倡导“自由软件”;
      	GNU的软件缺乏一个开放的平台运行,只能在Unix上运行;
     	自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着GPL的版权;
     	自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;
    
    1985年,为了避免GNU开发的自由软件被其他人用作专利软件,因此创建GPL(General Public License)版权声明;
    
    1988年,MIT为了开发GUI,成立了XFree86的组织; 
    
    1991年,芬兰赫尔辛基大学的研究生Linus Torvalds基于gcc、bash开发了针对386机器的Lniux内核; 
    
    1994年,Torvalds发布Linux-v1.0;
    
    1996年,Torvalds发布Linux-v2.0,确定了Linux的吉祥物:企鹅; 
    

    二、linux的优缺点

    1. linux的优点

       开放的学习环境
      
       漏洞快速修补
      
       因为内核只有几百k,因此适合嵌入式系统。
      
    2. linux的缺点:

       有些专业软件没有Linux版本,导致有时工作进展不顺利。
      

    三、关于内核

    1. git

       git实际上是一种开源的分布式版本控制工具,可以使用git对内核进行下载或管理。
      
    2. 使用make配置内核

    3. linux没有内存保护机制

       内核中发生内存错误,会导致opps。风险会比外面要大一些。
      
    4. 不要轻易在内核中使用浮点数

       内核并不能完美地执行浮点操作,因此最好不要使用浮点操作。
      
    5. 容积小而固定的栈

       内核栈的准确大小随体系结构而变。
      

    以上为1、2章的读书笔记

  • 相关阅读:
    HBase入门,看这一篇就够了
    【从零开始学CenterNet】6. CenterNet之loss计算代码解析
    cobbler使用DTK自动化做RAID
    linux批量免密登陆
    《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(下)
    《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(中)
    Python基础-v1
    js实现二维数组转置
    冰蝎3.0 流量特征分析 附特征
    关于 PDF相关整改建议的pdf后门事件分析
  • 原文地址:https://www.cnblogs.com/whyfarrell/p/5285565.html
Copyright © 2011-2022 走看看