1、操作系统(Operation System,oS):是一个特殊的软件。

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

1、没有安装操作系统的计算机,通常被称为裸机。
2、如果想在裸机上运行自己所编写的程序,就必须用机器语言书写程序。
3、如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序。

2、操作系统的作用

1、直接操作CPU、内存等硬件。
2、把操作硬件的代码封装成很多个系统调用,程序员通过系统调用,间接的操作CPU、内存等硬件。是现代计算机系统中 最基本和最重要 的系统软件。
是 配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展。
主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用。
而其他的诸如编译程序、数据库管理系统,以及大量的应用软件,都直接依赖于操作系统的支持。

3、不同应用领域的主流操作系统

桌面操作系统
服务器操作系统
嵌入式操作系统
移动设备操作系统

3.1、桌面操作系统

Windows系列:用户群体大,安全性和稳定性差。
macoS:适合于开发人员,安全性和稳定性高于Windows。
Linux:应用软件少,在服务器操作系统和嵌入式操作系统使用的多。

3.2、服务器操作系统

Linux:安全、稳定、免费、占有率高。
Windows Server:付费、占有率低。

3.3、嵌入式操作系统

Linux,主要用于开发智能家居、智能机器人等。

3.4、移动设操作系统

ios
Android(基于Linux)

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

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

5、操作系统的发展史

5.1、Unix
1965年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑。

为了解决数量不够用的问题:

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

5.2、C语言

1、在把UNIX移植到其他类型的计算机上使用时,C语言强大的移植性(Portability)在此显现。机器语言和汇编语言都不具有移植性,为×86开发的程序,不可能在Alpha,SPARC和ARM等机器上运行。
2、而C语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。


5.3、Minix

1、因为AT&T(通用电气)的政策改变,在Version 7Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。
2、Andrew S.Tanenbaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。
3、以小型UNIX(mini-UNIX)之意,将它称为MINIX。

5.4、Linux

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

6、Linux内核版本和发行版本
6.1、Linux内核版本
内核源码网址:http://www.kernel.org

1、内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。
2、Linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环。稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。
开发版:由于要试验各种解决方案,所以变化很快。所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus 领导的开源社区对其进行甄别和修改最终决定是否进入到Linux 主线内核源码中。

6.2、Linux发行版本

1、Linux发行版(也被叫做GNU/Linux发行版)通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。
2、常见的发行版本如下:
Ubuntu、Redhat、Fedora oopenSUSE、Linux Mint、Debian、Manjaro、Mageia、CentOS 、Arch

7、单用户操作系统和多用户操作系统(科普)

1、单用户操作系统:指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源。
2、WindowsXP之前的版本都是单用户操作系统。
3、多用户操作系统:指一台计算机在同一时间可以由多个用户使用,多个用户共同享用系统的全部硬件和软件资源。
4、Unix和Linux的设计初衷就是多用户操作系统。

8、Windows和Linux文件系统区别
8.1、Windows下的文件系统

在Windows下,打开“计算机”,我们看到的是一个个的驱动器盘符:

每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:


8.2、Linux下的文件系统

在Linux下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录):

Ubuntu没有盘符这个概念,只有一个/根目录,所有文件都在/根目录下面。

用户目录:位于 /home/user,称之为用户工作目录或家目录,表示方式:
/home/user
~

8.3、Linux主要目录速查表

/:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始
当在终端里输入 /home,其实是在告诉电脑,先从 /(根目录)开始,再进入到 home 目录
/bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等
/boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有
/etc/inittab
/etc/fstab
/etc/init.d
/etc/X11
/etc/sysconfig
/etc/xinetd.d
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下
~ 表示当前用户的家目录
~edu 表示用户 edu 的家目录
/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下
/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载
/opt:给主机额外安装软件所摆放的目录
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等
/root:系统管理员root的家目录
/sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root 使用的命令,一般用户只能"查看"而不能设置和使用
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内
/usr:应用程序存放目录
/usr/bin:存放应用程序
/usr/share:存放共享数据
/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
/usr/local:存放软件升级包
/usr/share/doc:系统说明文件存放目录
/usr/share/man:程序说明文件存放目录
/var:放置系统执行过程中经常变化的文件
/var/log:随时更改的日志文件
/var/spool/mail:邮件存放的目录
/var/run:程序或服务启动后,其 PID 存放在该目录下

了解操作系统,什么是操作系统Operation System?相关推荐

  1. DOS(Disk Operation System)磁盘操作系统

    DOS是Disk Operation System(磁盘操作系统)的简称,是个人计算机上的一类操作系统.它直接操纵管理硬盘的文件,一般都是黑底白色文字的界面.从1980年到1995年的15年间,DOS ...

  2. 操作系统(Operation System,OS)

    操作系统的发展史 1.Unix 1965 年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘.显示器),连接 ...

  3. 操作系统(Operation System, OS)

    没有安装操作系统的计算机,通常被称为裸机 操作系统是可以和我们电脑的硬件打交道的,比如说我们设计一个程序,在程序执行的时候,操作系统会通知cpu.内存.硬盘.声卡......你们该干活啦!同时这些硬件 ...

  4. POSIX:可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )

    POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标 ...

  5. 操作系统系统调用_操作系统中的系统调用

    操作系统系统调用 系统调用简介 (Introduction to System calls) The interface between the operating system and the us ...

  6. Windows server2012+MDT2012 (五) 制作封装wim文件部署Operation System

    前期我们介绍了两种方法通过MDT2012 serve部署操作系统后实现应用程序集成的问题:我们也知道MDT2012 server提供的系统捕获是通过在线的方式需要占用网络资源,为了解决该问题,今天就介 ...

  7. 【计算机操作系统】新兴操作系统

    目录 嵌入式操作系统 移动设备操作系统 云计算操作系统 区块链操作系统 嵌入式操作系统 嵌入式操作系统(Embedded Operating System)是一种针对嵌入式系统设计的操作系统,它是一种 ...

  8. android和rtos相互切换,通用操作系统与实时操作系统(RTOS)比较

    零.引 子---由终端设备到RTOS:RTOS无处不在.......... (1).Android手机有两个处理器,一个叫Application Processor(AP),一个叫Baseband P ...

  9. 分时操作系统就是计算机将什么的处理,分时、实时操作系统_通用操作系统.

    分时操作系统的分类 分时操作系统,主要分为三类:单道分时操作系统,多道分时操作系统,具有前台和后台的分时操作系统. 分时操作系统是一个多用户交互式操作系统. 简介(time-sharing syste ...

最新文章

  1. Oracle之物化视图
  2. 浅谈线程池(下):相关试验及注意事项
  3. MySQL索引介绍,普通索引,全文索引,空间索引,多列索引使用原则,建立索引常用的规则
  4. 修改mysql数据库名方法_安全快速修改Mysql数据库名的5种方法
  5. [渝粤教育] 西北工业大学 博弈论基础 参考 资料
  6. LeetCode 2099. 找到和最大的长度为 K 的子序列
  7. 深入理解与应用Hadoop中的MapReduce
  8. python控制台输入字符串作为参数_Python-如何将字符串传递到subprocess.Popen(使用stdin参数)?...
  9. 【BIM入门实战】Navisworks2018简体中文安装教程(附安装包下载)
  10. 北上广深也不相信口水
  11. pandas进阶 期中练习
  12. python微信库无法登录怎么办出现异常_微信出现异常登录了怎么办
  13. missing privilege separation directory /var/empty/sshd问题解决
  14. win10网络工作组看不到其他计算机,win10系统工作组不显示其他计算机的解决方法...
  15. 17.分段函数、绝对值函数以及幂指函数求导
  16. 甲骨文CEO拉里-埃里森--硅谷最张扬最具争议的CEO
  17. 天勤python_天勤量化
  18. Hive Load装载数据与HDFS的关系
  19. Windows 系统查找快捷键冲突
  20. [BZOJ3698] XWW的难题 网络流

热门文章

  1. 推荐一个免费的论文查询,检索和查重网站
  2. win10中maven的配置
  3. 手工打造C#IDE环境(一):万事开头难
  4. QR code(二维码)
  5. 简单说 如何做一个chrome 去广告插件
  6. 牛客网机器学习刷题错题集合1
  7. 美食网站php模板,红色大气美食餐饮网站模板
  8. 可以双人玩的三子棋!
  9. linux 6.5 安装vnc,Linux_CentOS6.5安装vncserver实现图形化访问
  10. 世界首富马斯克,底层有一套强大的思维方式