基础知识:《计算机操作系统》

第一章 操作系统引论

1.操作系统是配置在计算机硬件上第一层软件,是对硬件系统的首次扩充。其主要作用是管理好这些设备,提高他们的利用率和吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。
2.OS是计算机系统中最基本和最重要的系统软件
3.操作系统的作用:(1)OS作为用户与计算机硬件系统之间的接口,即OS处在用户与计算机硬件系统之间,用户通过os来使用计算机系统。(2)OS作为计算机系统资源的管理者。计算机系统通常含有多种硬件和软件资源,这些资源可以分为四类:处理机、存储器、I/O设备以及文件(数据和程序),OS就是要对这四种资源进行有效的管理。 处理机管理是用于分配和控制处理机。存储器管理主要负责内存的分配和回收。I/O设备管理是负责I/O设备的分配与操纵。文件管理用于文件的存储、共享和保护。(3)OS实现了对计算机资源的抽象。
4.操作系统的基本特性:(1)并行:是指两个或多个事在同一时刻发生。并发:指两个或多个事件在同一时间间隔内发生。(2)共享:指系统中的资源可供内存中多个并发资源共同使用。 并发共享是多用户OS的两个最基本的特征。

第二章 进程的描述与控制

1.为了能使程序并发进行,并且可以对并发执行的程序加以描述和控制,人们引入了“进程”概念。
2.进程控制块(PCB):为了使参与并发执行的每个程序(含数据)都能独立的运行,在操作系统中必须为之配置一个专门的数据结构。
3.系统通过PCB来描述进程的基本情况和活动过程,进而控制和管理进程。
4.进程(进程实体)的组成:程序段、相关数据段、PCB三部分
5.所谓创建进程,就是创建进程实体中的PCB;撤销进程,实际上就是撤销进程的PCB
6.传统OS中的进程定义为:进程是进程实体的运行过程,是系统要进行资源分配和调度的一个基本单位
7.进程的特性:动态性、并发性、独立性、异步性
8.进程的三个状态:就绪状态、执行状态、阻塞状态
在这里插入图片描述
9.进程控制块PCB的作用:(1)是操作系统中最重要的记录性数据结构(2)OS使用PCB来对并发进程进行管理和控制(3)PCB是进程存在的唯一标志(4) PCB常驻内存(5)OS专门开辟PCB区将所有的PCB组成若干链表或队列
10.PCB的信息:(1)进程标识符:唯一的标识一个进程 。进程标识符又分为外部标识符(方便用户对进程进行访问)和内部标识符(方便系统对进程的使用)。(2)处理机状态(3)进程调度信息(进程控制信息)
11.进程控制:是进程管理中最基本的功能
12.进程同步:主要任务是对多个相关进程在执行次序上进行协调,使并发执行的程诸进程之间能够按照一定的规则(或时序)共享系统资源,并能很好的相互合作,从而使程序的执行具有可再现性。如消费者-生产者问题、信号量机制
13.进程通信是是指进程之间的信息交换。
14.线程:比进程更小的单位,试图用它来提高程序并发的程度,以进一步改善系统的服务质量。
15.进程是为了是多个程序能够并发执行,以提高资源利用率和系统吞吐量。线程是为了减少程序并发执行时所付出的时空开销,使OS具有更好的并发性。
16进程和线程的区别和联系(根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位):
(1)定义

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

(2)关系
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。

(3)区别
进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

  • 简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
  • 线程的划分尺度小于进程,使得多线程程序的并发性高。
  • 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
    -线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
    -从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

(4)优缺点
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。

第3章 处理机调度与死锁

1.多道程序环境下,内存中存在着多个进程,其数目往往多于处理机的数目,这就需要系统能够按照某种算法,动态的将处理机分配给处于就绪状态的一个进程,使之执行。
2.调度的实质就是资源分配
3.作业是一个比程序更为广泛的概念。他不仅包含常用的程序和数据,而且还应配有一份作业说明书。
4.先来先服务(FCFS)调度算法:最简单的调度算法。既可以用于作业调度(高级调度),也可以用于进程调度(低级调度)。如进程调度中的FCFS,就是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。
5.短作业优先(sjf,即谁占CPU时间短):可以分别用于作业调度和进程调度。作业越短,优先级越高。作业的长短是以作业的作业所要求的运行时间来衡量的
6.优先级调度算法:基于作业的紧迫程度来定义优先级。可以用于作业调度和进程调度。
7.高响应比优先调度算法:FCFS只考虑作业的等待时间,忽略了时间的运行时间;SJF只考虑了作业的运行时间,忽略了作业的等待时间。高响应优先调度算法综合考虑了两者,为每一个作业引入一个动态优先级,即优先级是可以改变的。
优先级=(等待时间+要求服务时间)/要求服务时间=响应时间/要求服务时间
8.基于时间片的轮转调度算法:用在分时系统中,按所有进程按FCFS策略排成的就绪队列,每个进程每次仅运行一个时间片。
9.多队列调度算法:将一个就绪队列拆为若干个,将不同类型或性质的进程固定分配在不同的就绪队列,不同的就绪队列采用不同的调度算法,一个就绪队列中的进程可以设置不同的优先级,不同的就绪队列本身也可以设置不同的优先级。多级反馈队列调度算法:设置多个就绪队列、每个队列采用FCFS算法、按队列优先级进行调度
10.实时调度中的优先级倒置问题:即高优先级进程(或线程)被低优先级进程(或者线程)延迟或者阻塞,采用优先级继承。
11.死锁:原因是竞争资源和进程间的推进顺序比较非法。定义:如果一组进程中的每一个进程都在等待仅有该组进程中的其他进程才能引发的事件,那么改组的进程是死锁的。
12.产生死锁的必要条件:互斥条件、请求和保持条件、不可抢占条件、循环等待条件
13.处理死锁:预防死锁、避免死锁(银行家算法)、检测死锁、解除死锁。

第4章 存储器管理

在这里插入图片描述
1.存储器的结构有三层:CPU寄存器、主存、辅存。层次越高,存储介质的访问速度越快,价格也越高,相对所配置的存储容量也越小。
2.用户程序要在系统中运行,必须先将它装入内存,然后再将其转变为一个可以执行的程序,通常需要一下几个步骤:(1)编译,由编译程序对用户源程序进行编译,体现在内存空间分配时物理地址的相邻。
3.单一连续分配:单道程序环境下,存储器管理方式是把内存分为系统区和用户区两部分,系统去仅提供给OS使用,它们通常是放在内存的低址部分

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值