1、操作系统是什么?
- 操作系统是一个协调、管理、控制计算机硬件资源给应用程序使用的一种控制程序
计算机三层体系
- 应用程序:图形界面 命令解释器
- 操作系统:windows操作系统 linux
- 计算机硬件(cpu、内存、硬盘)
2、为何要有操作系统?操作系统与应用程序有何区别?
-
为了方便上层的应用程序开发(操作系统把复杂的硬件控制的代码都给写好了,然后对上层提供简单的功能)
-
操作系统与应用程序
- 操作系统:是负责控制硬件的程序,给上层应用程序来调用
- 应用程序:是给用户使用的程序
操作系统的构成
-
操作系统由两部分构成:
- 系统调用接口:为上层的应用程序提供的一系列的功能
- 内核:负责控制硬件的运行的
操作系统的两种工作状态
- 用户态:执行的是系统调用接口层的代码,负责跟上层的应用程序打交道
- 内核态:执行的是内核某部分代码,负责跟底层的硬件打交道
操作系统的整个运行过程会频繁发生用户态与内核态的切换
解答问题:操作系统启动之后,应用程序又是如何启动/运行的?
-
双击快捷方式-------》图形界面-------》windows系统------------》硬件 指令 应用程序
-
执行某个命令-------》命令解释器bash-------》linux系统------------》硬件指令 应用程序
-
1-操作系统接到启动程序的指令
-
2-操作系统会控制硬件来运行某个应用程序
- 操作系统控制硬盘把程序的代码文件读入内存- 操作系统控制cpu去内存里读取程序的指令来运行
操作系统的分类
-
个人电脑:
- 台式机:windows
- mac:macOS
-
服务器:
- linux(网络)
-
操作系统发展史:
-
第一代计算机
-
特点:
- 没有操作系统的概念
- 所有的程序设计都是直接操控硬件
- 多个程序的运行流程:串行 ----》一个程序运行完毕,另外一个程序才能启动
-
优点:程序以及它的程序是独享整个计算机资源
-
缺点:
- 资源浪费(即便程序出问题了,调试程序的过程中你不用计算机,但是别人也用不了)
- 串行
-
-
第二代计算机
-
特点:诞生了批处理系统:一下处理一批程序,但这些程序还是串行的
-
优点:批处理提升计算机资料的利用率,一个程序出错只输出结果,不影响下一个程序的运行
-
缺点:
- 程序无法实时调式程序
- 串行
-
-
第三代计算机
-
硬件的发展:io +运算的功能集成在一台计算机里
-
操作系统的核心技术-多道技术---》控制多个/多道程序看起来是同时运行( ****** )
-
空间上的复用
- 复用的是内存,指的是多个程序能够同时读入内存里
- 空间上的复用必须注意一个点:加载到内存中的多个程序所占用的内存空间必须是隔离的才行
-
时间上的复用 :
-
复用的是cpu的时间,指的是cpu在多个内存中的程序之间快速的切换
-
什么情况切换:
- 遇到io操作一定会切换
- 没有遇到io操作,也要切换,因为要让cpu能够雨露均沾
-
-
一个cpu同一时间只能做一件事:
- 并发:多个任务看起来是同时运行的,只有单核也能实现并发
- 并行:多个任务是真正意义上的同时运行的,只能多核才能实现并行
-
-
-
分时操作系统CTTS
-
多个联机终端+多道技术
-
特点:
- 每个程序员/程序都以为自己独占计算机资源
- 多个程序的运行是并发的
- 诞生:MULTICS(支持更多的联机终端)
简易版的multics即UNIX(ken THOMSON)1970 unix元年tcp/ip就是unix上进行开发与测试GNU活动:GPL开源协议:开放源代码,所有人都可以来抄我的源代码,并且可以在此基础上进行修改完善修改完善之后,你可以收费,但是你也必须开放源代码允许别人抄写谭宁邦(开发minix)
芬兰大学生-李纳丝linus----》linux(加入GPL)-----发行版(redat系列、debian系列 )
Linux操作系统
发行版(redat系列、debian系列 )redat系列Fedora----------->RHEL------------>CentOS(dnf/yum) redhat5(license) redhat6 ------------》centos6 ---centos7.9Fedora ---------》centos stream-----》RHEL版debian系列:ubuntu系列debian---》ubuntuapt-get国产系
7、安装的操作系统版本centos7.9centos9----》rockylinux9.3ubunt22.04.4 LTS