前言

今天其实挺累的,也没有什么特别的感想,因为部门还处于起步阶段,很多流程真的还是相当欠缺,所以一些时候我对于需求的理解其实真的很尴尬,结果就导致了这次做的东西牛头不对马嘴,浪费了大量的时间在完全没有意义的地方。

今晚的学习主要打算分两块,第零章的剩下部分和第一章的内容(能看多少就看多少吧~)。


第0章 计算机概论

0.3 数据表示方式

0.3.1 数字系统
0.3.2 文字编码系统

由国际组织ISO/IEC制定了所谓的Unicode系统编码,即我们常常称呼的UTF8或统一码。


0.4 软件程序运行

0.4.1 机器程序与编译程序
0.4.2 操作系统
  • 操作系统内核(kernel)

    • 操作系统其实也是一组程序,这组程序的重点在于管理计算机的所有活动以及驱动系统中的所有硬件。
    • 内核程序所放置到内存当中的区块是受保护的,并且开机后就一直常驻在内存当中。
  • 系统调用(System Call)
  • 操作系统的内核层直接参考硬件规格写成的,所以同一个操作系统程序不能够在不一样的硬件架构下运行。
  • 操作系统只是在管理整个硬件资源,包括CPU,内存,输入输出设备以及系统文件。
  • 应用程序的开发都是参考操作系统提供的开发接口,所以该应用程序只能在该操作系统上面运行而已,不可以在其他操作系统上面运行的。
  • 内核功能
    • 系统调用接口
    • 程序管理
    • 内存管理
    • 文件系统管理
    • 设备驱动
  • 操作系统和驱动程序
    • 操作系统必须要能够驱动硬件,如此应用程序才能够使用该硬件功能
    • 一般来说,操作系统会提供开发接口,让开发商制作他们的驱动程序
    • 要使用新硬件功能,必须要安装厂商提供的驱动程序才行
    • 驱动程序是由厂商提供的,与操作系统开发者无关
0.4.3 应用程序

至此第0章完毕~


第1章 Linux是什么

Linux是什么

1.1.1 Linux是什么

内核和硬件的关系非常紧密。早起的Linux是针对386来开发的,由于Linux只是一套操作系统并不含有其他的应用程序,因此很多工程师在下载了Linux内核并且实际安装之后,就只能看着计算机开始运行了!接下来这些高级工程师为了自己的需求,再在Linux上面安装他们需要的软件。

Linux由于是Open Source的操作系统,所以它的程序代码可以被修改成适合在各种机器上面运行的,也就是说,Linux是具有“可移植性”,这可是很重要的一个功能喔!

1.1.2 Linux之前的Unix的历史

Linux的内核是由Linus Torvalds在1991年的时候给开发出来的

  • 1969年以前,一个伟大的梦想——“Multics”系统
  • 1969年:Ken Thompson的小型File Server System
    • 所有的程序或系统装置都是文件
    • 不管构建编辑器还是附属文件,所写的程序只有一个目的,就是要有效地完成目标
  • 1973年:Unix正式诞生
    • 汇编语言具有专一性,加上当时的计算机机器架构都不太相同,所以每次安装到不同的机器都得要重新编写汇编语言,真不方便!
    • 解决方法:添加一层高级语言,将可移植性难题切换到语言之间,而并不是以在编写业务的时候再去强行设计适配不同机器的业务代码。
    • 由于UNIX是以较高级的C语言编写的,相对于汇编语言需要与硬件有密切的配合,高级的C语言与硬件的相关性就没有这么大了!所以这个改变也是的UNIX很容易被移植到不同的机器上

这个思路其实一直持续到今天,天煞的谷歌动不动就开发新语言,拿全世界码农当做实验体的伎俩估计也是这个的衍生物。

  • 1984年之一:x86架构上的Minix操作系统诞生

    • 既然1979年的UNIX第七版可以在Intel的x86架构上面进行移植,那么是否意味着可以将UNIX改写并移植到x86上面了呢?
  • 1984年之二:GNU项目与FSF基金会成立

    • GUN项目的目的是创建一个自由的,开放的UNIX操作系统
    • 编程最大的快乐就是让自己开发的好软件可供大家来使用。
    • 如果你将你程序的Source Code分享出来时,若该程序是很优秀的,那么将会有很多人使用,而每个人对于该程序都可以查阅source code,无形之中就会有很多人帮你拍错了!你的这个程序将会越来越壮大,越来越优秀。
  • Linux诞生

    • Linux是基于Minux做出性能优化和功能加强并加入了Source Open之后所诞生的新生儿
    • 他参考Minix的设计理念与书上的程序代码,然后仔细研究出386个人计算机的性能优化,然后使用GNU的自由软件将内核程序代码与386紧紧地结合在一起,最终写出他所需要的内核程序。这里附上他初次成功后,向开源平台上发放并请求援助的消息:(等我以后有好玩的东西想发放的时候可以按照这个模式来~)

Hello everybody out there using minix-
I’m doing a (free) operation system (just a hobby,
won’t be big and professional like gnu) for 386(486)AT clones.
I’ve currently ported bash (1.08) gcc (1.40),
and things seem to work. This implies that i’ll get
something practical within a few months, and I’d like to know
what features most people want.Any suggestions are welcome,
but I won’t promise I’ll implement them ?


小结:

好吧,我承认今天比较水,但是说真的,看看这些前辈的奋斗史其实也是挺有意思的。第1章就到这里了,真正意义上的Linux学习明天就要开始了,好兴奋。


每日中二:

终有一天,你会老去,而我,将会加冕为王!而我所要做的事情就是,那你老去之前,超越你!

开发日记-20190523 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》相关推荐

  1. 鸟哥的linux私房菜-基础学习篇 读书笔记

    从事linux工作一年多,算是能够熟练运用linux服务器,但仍觉得自己对Linux的原理,理论缺乏空洞,潜下心来认真阅读尘封的鸟哥经典,知识点很全,收获颇多,实践与知识结合,知行合一,对linux开 ...

  2. 鸟哥的LINUX私房菜 基础学习篇 读书笔记 -- 第零章 计算机概论 (一)

    鸟哥的LINUX私房菜 基础学习篇 读书笔记 -- 第零章 计算机概论 (一) 第零章 计算机概论 0.1 电脑:辅助人脑的好工具 0.1.1 计算机硬件五大组成部分 0.1.2 一切设计的起点: C ...

  3. 《鸟哥的Linux 私房菜 基础学习篇(第三版)》——1.2 Torvalds的Linux开发

    本节书摘来自异步社区<鸟哥的Linux 私房菜 基础学习篇(第三版)>一书中的第1章,第1.2节,作者:鸟哥著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1. ...

  4. 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录

    目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...

  5. 鸟哥的Linux私房菜基础学习篇 第0章与第1章的重点探索

    鸟哥的Linux私房菜基础学习篇 第0章与第1章的重点探索 目录 鸟哥的Linux私房菜基础学习篇 第0章与第1章的重点探索 前言 一.计算机概论 1.知识基础 2.知识初阶 3.知识进阶 二.Lin ...

  6. 鸟哥的Linux私房菜-基础学习篇(第四版):鸟哥-电子书

    内容简介: 本书是知名度颇高的Linux入门书<鸟哥的Linux私房菜基础学习篇>的新版,全面而详细地介绍了Linux操作系统. 全书分为五部分:第一部分着重说明计算机的基础知识.Linu ...

  7. 开发日记-20190612 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》

    Preface 今天效率真的感觉还不错呢= =,读书进度一口气推进了两章半,说真的,感觉现在看的东西大多数都是讲怎么用的,写这些其实意义不是很大,而且一般写下来后我后续也不会特地来回顾.所以我决定了, ...

  8. 开发日记-20190522 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》

    前言 世界上最最愚蠢的事情就是重复,世界上最唯美的事情就是简单.把东西变得简单才是本事,这是我一直信奉的教条. 其实我一直想好好学学Linux,可是很多时候真的很无奈,尽管我挺喜欢买书而且在一定程度上 ...

  9. 开发日记-20190608 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》

    Preface 玩物丧志,玩物丧志. 一个端午的假期,还真的是让我休闲到了极点,呐,很多时候我真的在想,是不是一个人日常生活中存在太多诱惑,所以才在脑子里塞满了杂七杂八的东西,最后导致自己不能很好地思 ...

  10. 第二章 如何学习Linux(鸟哥的Linux私房菜基础学习篇)

    在这个章节中,鸟哥说:"1,从头学习:2,选择工具书:3,实践再实践:等等."我认为:实践再实践,不断的重复练习,讲给别人听,写出来,然后应用于工作中,就是好方法.学习的最后目的就 ...

最新文章

  1. 人本质要好,要善良,要真诚,有格局和胸怀,有能力,有眼光,能讲故事,能找到人,能搞到钱...
  2. access和SQL的区别
  3. 领扣(LeetCode)最长公共前缀 个人题解
  4. MySQL基本操作——增删查改
  5. Word转换英文为大写小写的方法
  6. 千万级、百万级数据删除优化
  7. 12-容器之间link
  8. django 实现linux运维管理平台
  9. matlab低通滤波器库函数代码_Matlab中模拟低通滤波器的函数
  10. 苹果发布会不够酷?库克又送来了 iOS 12.2!
  11. QT5.9连接MySQL5.7解决QSqlDatabase: QMYSQL driver not loaded问题
  12. 小明开了一家糖果店、把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖 小朋友来买糖的时候,他就用两种包装来组合,当然有些糖果数目是无法组合出来的,比如要买10颗糖 在这种包装情况下,最大不能买到
  13. 在苹果笔记本如何使用python_苹果电脑系统如何运行python工具介绍
  14. 根据经纬度计算两地之间的距离
  15. matlab金融时间序列分析,5 个 MATLAB 金融时序预测速查表
  16. 什么是html文件?html格式如何打开?(图)
  17. python 爬虫--利用百度图片处理OCR识图API进行验证码识别,并通过python、requests进行网站信息爬取(二)实战
  18. 打开Excel2007都提示向程序发送命令时出现问题的解决办法
  19. 图片上传之blob对象预览
  20. uniapp 图片模糊

热门文章

  1. Eclipse引入spring约束详细教程
  2. BigDecimal 比较大小需要注意的事项
  3. ngx_http_redis_module配置使用
  4. Linux中变量#,#,@,0,0,1,2,2,*,$$,$?的含义
  5. mySQL5.5服务配置_配置mysql5.5主从服务器(转)
  6. linux zsh命令行vim命令补齐,Linux使用zsh提高效率的5条建议
  7. mysql中groupby会用到索引吗_mysql order by 与索引的使用
  8. python切片操作例题_Python之切片操作
  9. 适合手机运行的服务器系统,一台服务器能维持多久?谈谈服务器的运行寿命
  10. 北京理工大学计算机学院张教授,北京理工大学嵩天教授做客信息学院