学习计划:

  • Linux基础:对Uountu的使用从陌生到灵活操作
  • Python基础:涵盖Python基础知识,掌握基础的编程能力
  • 项目实践:应用基础班学过的知识,编程实践,完成第一个python项目

图一 操作系统作为接口的示意图

设有安装操作系统的计算机,通常被称为裸机

如果想在裸机上运行自己编写的程序,必须用机器语言书写程序

如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言系统,用高级语言开发程序

不同领域的主流操作系统:

  • 桌面操作系统:Windows  macOS  Linux
  • 服务器操作系统:Linux  Windows Sever
  • 嵌入式操作系统:Linux
  • 移动设备操作系统:IOS  Android

虚拟机:

虚拟机指的是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统

  • 虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能
  • 进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对系统产生任何影响
  • 而且,能够在现有系统与虚拟镜像之间灵活切换的一类操作系统

操作系统的发展史:

  1.  1965年之前,电脑并不像现在一样普遍,除非是军事或者学院的研究机构,而且当时大型主机之多能提供30台终端(30个键盘、显示器),连接着一台电脑
  2. 为了解决数量不够用的问题:1965年左右,贝尔实验室加入了麻省理工学院以及通用电气合作的计划--该计划要建立一套多使用者(multi-user)、多任务(multi-processor)、多层次(multi-level)的MULTICS操作系统,想让大型主机支持300台终端
  3. 1969年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究
  4. 1969年从这个项目中退出的Ken Thompson当时在实验室无聊时,为了让一台空闲的电脑能够运行星际旅行。在8月份左右趁着妻子探亲的时间,用了1个月时间,使用汇编语言写出了Unix操作系统的原型
  5. 1970年,美国贝尔实验室的Ken Thompson,以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母),并且他用B语言写了第一个UNIX操作系统
  6. 1971年,同样酷爱“星际旅行”的Dennis M.Ritchie为了早点玩上游戏,加入了Thompson的开发项目,合并开发UNIX,他的主要工作是改造B语言,因为B语言的跨平台性较差
  7. 1972年,Dennis M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言
  8. 1973年初,C语言的主体完成,Thompson和Ritchie迫不及待地开始用它完全重写了现在大名鼎鼎的UNIX操作系统。

Linux

  1. 1991年林纳斯(Linus)就读于赫尔辛基大学期间,对Unix产生浓厚兴趣,尝试着在Minix上做一些开发工作
  2. 因为Minix只是教学使用,因此功能并不强大,林纳斯经常要用他的终端仿真器(Terminal Emulator)去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了Linux第一个内核的雏形,当时,他仅有11岁!
  3. 林纳斯利用GUN的bash当作开发环境,gcc当作编译工具,编写了Linux内核,一开始Linux并不能兼容UNIX,即UNIX上跑的应用程序不能在LINUX上跑,即应用程序与内核之间的接口不一致;一开始LINUX只适用于386,后来经过全世界网友的帮助,最终能够兼容多种硬件