python基础——操作系统简介
不同应用领域的主流操作系统
l 桌面操作系统
l 服务器操作系统
l 嵌入式操作系统
l 移动设备操作系统
桌面操作系统
windows系列
用户群体很大
macos
适合于开发人员
linux
应用软件比较少
服务器操作系统
所谓的服务器就是一台电脑。
linux
安全、稳定、免费
占有率高
windows server
付费
占有率低
嵌入式操作系统eos
嵌入式实时操作系统µc/os-ii、嵌入式linux、windows embedded、vxworks等。以及应用在智能手机和平板电脑的android、ios等。
系统内核小
专用性强
高实时性
系统精简
移动设备操作系统
ios、android(基于linux)
操作系统(operation system,os)?
操作系统作为接口的示意图:
没有安装操作系统的计算机,叫做裸机。
如果想要在计算机上裸机上运行自己所编写的程序,就必须使用机器语言书写程序。
如果计算机上已经安装了操作系统,就可以再操作系统上安装支持的高级语言环境,用高级语言开发程序。
操作系统发展史
unix
1965年之前的时候波,电脑并不是像现在普遍,不是常人能够用得起的。只有军用或者是学院的研究机构才有。而且大型机的主机至多能够提供0太终端连接一台电脑。
为了解决输了不够用的问题
1965年后由贝尔实验室加入了麻省理工学院以及通用电气合作的计划————该计划要建立一套多食用者(multi-user)、多任务(multi-processor)、多层次(multi-level)的multics操作系统,想让大型主机支持300台终端。
1969年前后项目进度缓慢,资金短缺,贝尔实验室退出了研究。
1969从这个项目中退出的ken thompson当时再实验室无聊时,为了让一台空闲的电脑上运行星际旅行游行,在8月份左右趁着妻子探亲期间,用了一个月的时间,使用汇编语言写出了unix操作系统的原型。
1970年,美国贝尔实验室的ken thompson,一bcpl语言为基础,设计出了简单而且很接近硬件的b语言(取bcpl的首字母),并且使用b语言写了第一个unix操作系统。
1971年,同样酷爱星际旅行的dennis m·ritchie为了能够早点玩上游戏,加入了thompson的开发项目中,合作开发unix,由于b语言的跨平台性较差,主要工作就是改造b语言。
1972年,dennis m·retchie在b语言的基础上最终设计出了一种新的语言,他取了bcpl的第二个字母作为语言名字,就是所谓的c语言。
1973年初,c语言的主体完成,thompson和ritchie迫不及待地开始用它完全重写了unix操作系统。
c语言
在把unix移植到其他类型的计算机上使用时,c语言强大的移植性(portability)由此得到显现。
机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在alpha、sparc和arm等机器上运行。
而c语言程序时可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的c语言编译器和库,然后将c源代码、连接成目标二进制文件之后即可运行。
unix家谱
1.minix
因为at&t(通用电气)的政策改变,在version 7 unix推出之后,发布的使用条款,将unix源代码私有化,在大学中不再使用unix源代码。
andrew s·tanenbaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运行的细节,决定在不使用任何at&t的源代码的前提下,自行开发了与unix兼容的操作系统,以避免版权上的争议。
以小型unix(mini-unix),将它称为minix。
2.linux
1991年林纳斯(linus)就读于赫尔辛基大学期间,对unix产生浓厚的兴趣,尝试着在minix上做一些工作。
因为在minix只是教学使用,因此功能并不强,linus经常要他的终端仿真器(terminal emulator)取访问大学上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些候来成为了linux第一个内核的雏形,当时,年仅21岁。
linus利用了gnu的bash当作开发环境,gcc当作编译工具,编写了linux内核,一开始linux并不能兼容unix。
即unix上运行的应用程序并不能在linux上运行,即应用程序与内核之间的接口不一致。
一开始linux只适用于386,候来经过世界开发者的帮助,最终能够兼容多种硬件。
linux内核及发行版
linux内核版本
内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。
linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环。
稳定版:具有工业级强度,可以广泛地应用和部署,新的稳定版相对于较旧地只是修正一些bug或者加入了一些新的驱动程序。
开发版:由于要适应各种解决方案,所以变化很快。
linux发行版
linux发行版(也被叫做gnu/linux发行版),通常包含了桌面环境、办公套件、媒体播放器、数据库等应用软件。
常见地发行版有:
ubuntu
redhat
fedora
opensuse
linux mint
debian
manjaro
mageia
cantos
arch
在几乎每一份与linux有关地榜单上,基于debian地ubuntu都占有一席之地。