操作系统

1.计算机系统与操作系统

计算机系统:由硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。

硬件:计算机物理装置本身,可以是电子的、磁的、机械的、光的元件或装置。

软件:指计算机系统中的所有软件。硬件是软件运行的物质基础,软件能够充分地发挥硬件潜能并扩充其功能,完成各种应用任务,两者互相促进,相辅相成,缺一不可。

操作系统与驱动程序:

  • 操作系统必须能驱动硬件,如此应用程序才能使用该硬件功能;
  •  一般来说, 操作系统会提供开发接口,让开发商制他们的驱动程序;
  • 要使用新硬件功能,必须安装厂商提供的驱动程序才行;
  • 驱动程序是由厂商提供的,与操作系统开发者无关。

操作系统与应用程序:

应用程序是参考操作系统提供的开发接口所开发出来软件,这些软件可以让用户操作,以达到某些计算机的功能利用。

操作系统:

  • 软件系统的核心,各种软件的基础运行平台;
  • 提供共性功能,与硬件相关,与应用领域无关。
  • 没有安装操作系统的计算机,通常被称为裸机,如果想在裸机上运⾏⾃⼰所编写的程序,就必须⽤机器语⾔书写程序;
  • 如果计算机上安装了操作系统,就可以在操作系统上安装⽀持的⾼级语⾔环境,⽤⾼级语⾔开发程序。

虚拟机=裸机+操作系统

  • 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运⾏在⼀个完全隔离环境中的完整计算机系统
  • 虚拟系统通过⽣成现有操作系统的全新虚拟镜像,具有真实操作系统完全⼀样的功能
  • 进⼊虚拟系统后,所有操作都是在这个全新的独⽴的虚拟系统⾥⾯进⾏,可以独⽴安装运⾏软件,保存数据,拥有⾃⼰的独⽴桌⾯,不会对真正的系统产⽣任何影响
  • ⽽且能够在现有系统与虚拟镜像之间灵活切换的⼀类操作系统

2.操作系统资源管理技术

2.1资源复用:解决物理资源数量不足

空分复用共享

资源分割成多个更小的分配单元,供进程使用 。

时分复用共享

资源以整体为分配单元,在一个时段内供一个进程独占使用。分为以下两种:

时分独占式:进程获得时分独占式资源后,对资源执行多个操作,通常使用一个完整的周期后才会释放(如磁带)。

时分共享式:指进程占用该类资源使用后,很可能随时被剥夺,被另一个进程抢占使用(如处理器、磁盘机)。

2.2资源虚拟:解决物理资源数量不足 ,提高服务的能力和水平

一种资源转化、模拟或整合技术,可将物理上的一个资源变成逻辑上的多个对应物(或物理上多个变成逻辑上一个) 。

空分复用:分割实际存在的物理资源;

虚拟:实现假想的虚拟同类资源。

资源虚拟例子:虚拟设备、虚拟主存、虚拟文件、虚拟屏幕(终端)、虚拟信道  。

2.3资源抽象:处理系统的复杂性,解决资源的易用性

资源抽象用于处理系统的复杂性,重点解决资源的易用性。

资源抽象:指通过创建软件来屏蔽硬件资源的物理特性和接口细节,简化对硬件资源的操作、控制和使用的一类技术。

单级资源抽象与多级资源抽象。

2.4组合使用

对于一类资源,操作系统往往同时实施几种资源管理技术。

例1 :虚拟设备--抽象+虚拟。

例2:虚拟主存--复用+虚拟。

例3:虚拟屏幕--抽象+虚拟。

2.5操作系统中三个基础抽象

进程

进程process进程是处理器的一种抽象,进程是对于进入内存的执行程序在处理器上操作的状态集的一个抽象。进程抽象的效果是让用户感觉到有自己独享的处理器,从而,可为用户提供多任务操作系统和分时操作系统。

虚存

虚 存(virtual  memory) :虚存是内存的一种抽象,虚存抽象的效果是给用户造成假象,感觉独占了一个连续地址空间,编写应用程序的长度不受物理内存大小限制。虚存是通过结合对内存和外存的管理来实现的,把一个进程的虚存中的内容存储在磁盘上,用内存作为磁盘的高速缓存,以此为用户提供比物理内存空间大得多的虚拟内存空间。

文件

文件(file):文件是设备的一种抽象,文件是通过将文件中的字节映射到存储设备的物理块中来实现文件抽象。文件抽象的效果是让用户感觉到总能满足自己对设备上信息的存取需求,而且使用十分方便。

2.操作系统主要功能

2.1处理机功能

    (1)进程控制和管理
    (2)进程同步和互斥;
    (3)进程通信;
    (4)进程死锁;

死锁:死锁是指系统中的一组进程,由于竞争系统资源或由于彼此通信而永远阻塞,称这些进程处于死锁状态。死锁的产生是与资源分配策略和并发进程执行的速度有关。

死锁的必要条件:

  • 互斥条件:一个资源一次只能被一个进程所使用。
  • 不可抢占条件:一个资源仅能被占有它的进程所释放,而不能被其他的进程强行抢占。
  • 部分分配条件:一个进程已占有分给它的资源,但仍然要求其他资源。
  • 循环等待条件:在系统中存在一个由若干个进程形成的环形请求链,其中的每一个进程均占有若干种资源中的某一种,同时还要求下一个进程所占有的资源。

避免死锁:银行家算法

银行家(操作系统)拥有一笔周转资金(操作系统管理的资源),客户(进程)要求分期贷款,如果客户能够得到各期贷款,就一定能够归还贷款,否则就一定不能归还贷款。银行家应谨慎的贷款,防止出现坏帐。

    (5)线程控制和管理;
    (6)处理器调度,又分高级调度,中级调度和低级调度

2.2存储管理

    (1)内存分配 ;
    (2)地址转换;
    (3)存储保护;
    (4)内存共享 ;
    (5)存储扩充

2.3设备管理

    (1)提供设备中断处理;
    (2)提供缓冲区管理;
    (3)提供设备独立性,实现逻辑设备到物理设备之间的映射;
    (4)设备的分配和回收;
    (5)实现共享型设备的驱动调度;
    (6)实现虚拟设备

2.4文件管理

    (1)提供文件的逻辑组织方法;
    (2)提供文件的物理组织方法;
    (3)提供文件的存取和使用方法;
    (4)实现文件的目录管理;
    (5)实现文件的共享和安全性控制;
    (6)实现文件的存储空间管理

2.5网络与通信管理

    (1)网络资源管理;
    (2)数据通信管理;
    (3)网络应用服务;
    (4)网络管理

3.操作系统主要特性

3.1并发性

并发性--指两个或两个以上的事件或活动在同一时间间隔内发生。

发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率。

并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。

结论:实现并发技术的关键之一是如何对系统内的多个活动(进程)进行切换的技术。

并行性:指两个或两个以上的事件或活动在同一时刻发生。

并行的事件或活动一定是并发的,但反之并发的事件或活动未必是并行的。

并行性是并发性的特例,而并发性是并行性的扩展。

3.2共享性

操作系统中的资源可被多个并发执行的进程所使用。

资源共享两种方式:

透明资源共享:使用虚拟和抽象技术,注意资源隔离与授权访问 

独占资源共享:临界资源与独占访问

3.3异步性

指系统中的各种事件的发生具有随机性。

异步性给系统带来潜在危险,有可能导致与时间有关的错误。操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果

多种操作系统:

微机操作系统。
网络操作系统。
并行操作系统。
分布式操作系统。
嵌入式操作系统。
多核操作系统
云操作系统

4.操作系统内核

内核(kernel)是作为可信软件来提供支持进程并发执行的基本功能和基本操作的一组程序模块。
内核通常驻留在内核空间,运行于核心态,具有访问硬设备和所有主存空间的权限,是仅有的能执行特权指令的那部分程序。
在内核的支撑下,机器功能得到扩展、进程运行环境得到改善,安全性得到保证,系统效率得到提高。
内核分类:单内核和微内核。

内核的功能

1)中断处理
2 )时钟管理
3 )短程调度
4 )原语管理

5.常见流行操作系统

桌面操作系统:

  • MS DOS,MS Windows 3.x,Windows 95, Mac OS ,Windows XP,Windows Vista,Windows 7/8/10,Linux,

服务器操作系统:

  • Windows NT,Windows 200X,UNIX,Novell Netware,OS/2,Linux

嵌入式操作系统:

  • Windows CE、PalmOS,UcLinux,UCOS 2,
  • VxWorks,pSOS ,QNX,Windows Mobile
  • Symbian, Andriod

6.Linux操作系统

6.1Linux内核、发行版本

内核(kernel)是系统的⼼脏,是运⾏程序和管理像磁盘和打印机等硬 件设备的核⼼程序,它提供了⼀个在裸设备与应⽤程序间的抽象层

Linux 内核版本⼜分为 稳定版 和 开发版,两种版本是相互关联,相互循环

稳定版:具有⼯业级强度,可以⼴泛地应⽤和部署。新的稳定版相 对于较旧的只是修正⼀些 bug 或加⼊⼀些新的驱动程序

开发版:由于要试验各种解决⽅案,所以变化很快

内核源码⽹址:http://www.kernel.org

Linux 发行版(也被叫做 GNU/Linux 发行版)通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件常见的发行版本如下:

  • Ubuntu
  • Redhat
  • Fedora
  • openSUSE
  • Linux Mint
  • Debian
  • Manjaro
  • Mageia
  • CentOS
  • Arch 

6.2应用领域

服务器领域

Linux 在服务器领域的应⽤是其重要分⽀,Linux 免费、稳定、⾼效等特点在这⾥得到了很好的体现。

嵌入式领域

Linux 运⾏稳定、对⽹络的良好⽀持性、低成本,且可以根据需要进⾏软 件裁剪,内核最⼩可以达到⼏百 KB 等特点,使其近些年来在嵌⼊式领 域的应⽤得到⾮常⼤的提⾼。

主要应⽤:机顶盒、数字电视、⽹络电话、程控交换机、⼿机、PDA、 等都是其应⽤领域,得到了 Google、三星、摩托罗拉、NEC 等公司的 ⼤⼒推⼴

个人桌面领域

此领域是传统 Linux 应⽤最薄弱的环节

传统 Linux 由于界⾯简单、操作复杂、应⽤软件少的缺点,⼀直被 Windows 所压制

近些年来随着 Ubuntu、Fedora 等优秀桌⾯环境的兴起,同时各⼤硬件 ⼚商对其⽀持的加⼤,Linux 在个⼈桌⾯领域的占有率在逐渐的提⾼

6.3文件和目录

文件系统是一种组织计算机存储设备文件和资料的方法,操作系统中负责管理和存储文件信息的软件机构称为文件管理系统。

windows文件系统

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

每个驱动器都有⾃⼰的根⽬录结构,这样形成了多个树并列的情形:

Linux文件系统

在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是⽂件夹 (⽬录),Ubuntu 没有盘符这个概念,只有⼀个根⽬录 / ,所有⽂件都在它下⾯:

ubuntu@VM-0-12-ubuntu:/$ ls
bin  boot  data  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv    sys  tmp  usr  var  vmlinuz  vmlinuz.old
bin
    可执⾏⼆进制⽂件的⽬录包含基本命令,如ls、cp、mkdir、cat等,这个目录中的文件都是可执行的。——binary
sbin
    包含系统命令,如modprobe、hwclock、ifconfig等,大多是涉及系统管理的命令,这个目录中的文件都是可执行的。——system binary
boot
    放置 linux 系统启动时⽤到的⼀些⽂件,如 linux 的内核⽂件: /boot/vmlinuz ,系统引导管理器: /boot/grub
dev
    设备文件存储目录,应用程序通过对这些文件的读、写或是控制即可以对实际的设备进行访问或控制其动作。——devices
etc
     系统配置文件目录,一些服务器的配置文件也在这里。如用户的账号和密码、系统环境变量等,busybox的启动脚本也存放在这里。——etcetera
home
    系统默认的⽤户家⽬录,新增⽤户账号时,⽤户的家⽬录都存放在此⽬录下。当在终端里输入/home,其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。
lib
    系统库文件目录——library
media
    如光驱、软驱
mnt
    该目录一般是用于存放挂载存储设备的挂载目录,如有chrom等目录,可参考/etc/fstab的定义。有需要时,也可以让系统启动时自动挂载文件系统的挂载点放在该目录的操作都是允许的。——mount
opt
    opt是“可选”的意思,有些第三方软件会被安装在这里。——option
proc
    操作系统运行时,进程及内核信息(如CPU、硬盘分区、内存信息等)存放在这里。/proc目录为伪文件系统proc的挂载目录,proc并不是真正的文件系统,它存在于内存中。——process
    /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等
root
    系统管理员root的家⽬录
srv
    服务启动之后需要访问的数据⽬录,如 www 服务需要访问的⽹⻚数据存放在 /srv/www 内
sys
    系统核心的程序
tmp
    在用户运行程序时,可能会产生临时文件,/tmp就用来存放这些临时文件。——temporary
usr
     该目录是系统用于存放程序的目录,例如用户命令、用户库文件等——user

  • /usr/bin:存放应用程序
  • /usr/share:存放共享数据
  • /usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
  • /usr/local:存放软件升级包
  • /usr/share/doc:系统说明文件存放目录
  • /usr/share/man:程序说明文件存放目录

var
    var表示的是变化的意思,该目录中的内容经常会变动,如/var/log下存放是的系统日志。——variety

  • /var/log:随时更改的日志文件
  • /var/spool/mail:邮件存放的目录
  • /var/run:程序或服务启动后,其 PID 存放在该目录下

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值