操作系统管理处理机、存储器、文件、设备,是用户和硬件之间的接口。对用户而言不需要直接操作硬件,操作系统提供接口有两种,命令接口和程序接口。
我们来说以前的,最开始的是没有操作系统,人工操作,使用人工把程序装入,运行,这样因为人工输入速度太慢,而且容易错,还需要一个人占用,资源利用低,所以后来才做操作系统。
操作系统本来做的只是把程序读进去运行,开始是单道操作系统,批处理系统。批处理就是执行完一个作业就接着下一个作业,在执行不能干预。单道就是每次只能在内存放一个程序,一次运行一个程序。
内存在之前很贵,所以内存放的程序只有一个,他可以随意操作任何内存,当然操作了操作系统的就会造成操作系统错误,一旦错误只会影响程序,因为操作系统可以通过重启机器来得到。所以没有保护操作系统的内存。
单道批处理可以有效解决人工I/O和CPU的速度相差,不过在程序运行后,CPU需要等待很慢的I/O把程序读进来或输出。
为了解决CPU等I/O,就有多道操作系统,多道就是在内存可以放多个程序,并这些程序交替在CPU运行,如果一个程序I/O就会执行别的程序,这样能比原来快,但是I/O操作时间长还是没有用。
多道操作系统出现问题就是原本单道操作系统可以做的是全部内存,随意。但是现在只能使用一部分内存了,所以这样就出现一些新的要解决,我们后面会说一些内存分配、置换方法。
因为批处理系统不能人工干预,所以后来有了分时操作系统,这个系统把CPU分为多个时间,一个时间就执行一个程序,所以能和用户交互,这样的系统在Win10也是这样,不过win10是把图形层主要给GPU操作,并且有了很好地图形,当然命令行也有,可以使用Bash实在好。
实时操作系统也是为了能在某个时间限制内完成某些紧急任务而不需时间片排队,诞生了实时操作系统。这里的时间限制可以分为两种情况:如果某个动作必须绝对地在规定的时刻(或规定的时间范围)发生,则称为硬实时系统。例如,飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个特定的动作在规定的时间内完成。如果能够接受偶尔违反时间规定,并且不会引起任何永久性的损害,则称为软实时系统,如飞机订票系统、银行管理系统。
网络操作系统把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各个计算机之间的互相传送数据。网络操作系统最主要的特点是网络中各种资源的共享以及各台计算机之间的通信。
分布式计算机系统是由多台计算机组成并满足下列条件的系统:系统中任意两台计算机通过通信方式交换信息;系统中的每一台计算机都具有同等的地位,即没有主机也没有从机; 每台计算机上的资源为所有用户共享;系统中的任意若千台计算机都可以构成一个子系统,并且还能重构;任何工作都可以分布在几台计算机上,由它们并行工作、协同完成。用于管理分布式计算机系统的操作系统称为分布式计算机系统。该系统的主要特点是:分布性和并行性。分布式操作系统与网络操作系统本质上的不同之处在于分布式操作系统中,若干台计算机相互协同完成同一任务。
现在分这些其实没有用,因为我们要考试,所以我把我记下的发出来,存在一些主观性,如果看到我写错了请帮我指出来,或关闭浏览器,不要因此发布不良言论。
进程
我们之前说了我们的操作系统运行软件,那么软件是不是程序,其实在运行我们把运行程序叫进程。
在同时运行多个程序,我们需要规定程序的内存有多少和程序的状态,我们需要把不同运行程序分开,我们就用进程。
- 进程是程序的一次执行
- 进程是一个程序及其数据在处理机上顺序执行时发生活动
- 进程是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配和调度的独立单位
所以我们可以说进程和程序是不同,当然后面有线程,一个进程有多个线程。
线程
假如我们的程序是可以输入、可以计算、可以把计算结果显示,那么他如何同时做多件事,其实他在进程里面创建了多个线程,线程其实和进程可以理解相同,只是线程切换比进程快。
创建进程就是创建PCB,那么PCB是为了使参与并发执行的程序(含数据)能独立地运行,必须为之配置一个专门的数据结构,称为进程控制块(Process Control Block, PCB)。
创建线程就是相当进程开启新的函数,进程的所有线程共享内存单元,操作系统所有进程都有独立内存单元,一旦进程访问其他进程的内存单元就会造成修改,当然很多程序都可以修改其他进程。
进程状态有
1) 运行状态:进程正在处理机上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。
2) 就绪状态:进程已处于准备运行的状态,即进程获得了除处理机之外的一切所需资源,一旦得到处理机即可运行。
3) 阻塞状态,又称等待状态:进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理机)或等待输入/输出完成。即使处理机空闲,该进程也不能运行。
4) 创建状态:进程正在被创建,尚未转到就绪状态。创建进程通常需要多个步骤:首先申请一个空白的PCB,并向PCB中填写一些控制和管理进程的信息;然后由系统为该进程分配运行时所必需的资源;最后把该进程转入到就绪状态。
5) 结束状态:进程正从系统中消失,这可能是进程正常结束或其他原因中断退出运行。当进程需要结束运行时,系统首先必须置该进程为结束状态,然后再进一步处理资源释放和回收等工作。
短进程优先
处理机调度和死锁
死锁:
- 互斥条件
- 不剥夺条件
- 请求和保持条件
- 循环等待
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
计算机操作系统概论 计算机操作系统是计算机系统中的一个系统软件,它管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作...
操作系统是计算机科学中的核心课程,对于计算机专业的学生来说,深入理解和掌握操作系统原理至关重要,尤其是在准备考研的过程中。2023年王道操作系统课件正是针对这一需求精心编排的资源,旨在帮助学生全面掌握操作...
操作系统的类型包括批处理操作系统、分时操作系统、实时操作系统、网络操作系统等。批处理操作系统是最基本的操作系统,它将用户的作业批量执行,并且将作业的结果返回给用户。分时操作系统是多用户操作系统,它允许...
计算机操作系统期末复习题总结 计算机操作系统是计算机科学中一个重要的分支,它管理计算机硬件资源,提供了一个.between用户程序和计算机硬件之间的接口。以下是计算机操作系统期末复习题的总结: 一、操作系统...
计算机操作系统课程设计 计算机操作系统课程设计是计算机科学与技术专业的核心课程,旨在培养学生对操作系统的设计、实现和优化能力。本课程设计涵盖了操作系统的基本概念、设计原则、算法实现、系统结构等方面的...
操作系统可以分类为批处理操作系统、分时操作系统、实时操作系统、嵌入式操作系统等。 二、操作系统的功能 操作系统的主要功能包括进程管理、设备管理、存储管理、文件管理和用户接口等。 1. 进程管理:操作系统...
《orange's一个操作系统的实现-【自己动手写操作系统第二版】》是一本深入浅出的操作系统构建指南,作者为于渊。这本书旨在帮助读者通过实际操作来理解操作系统的原理和构造,适合对操作系统感兴趣的DIY爱好者和...
《教育部高职高专电子信息类专业教学指导委员会规划教材:操作系统安全》全面介绍了操作系统安全的基本理论和关键技术,包括安全操作系统的研究发展历程、安全策略、安全模型和安全机制、安全体系结构、知名安全操作...
《中国科学技术大学研究生高级操作系统课程资料》是一份深入探讨操作系统领域的宝贵资源,涵盖了该学科的多个核心主题。作为一门高级课程,它旨在帮助学生深化对操作系统内核、进程管理、内存管理、文件系统、设备...
操作系统是计算机科学的基础组成部分,它管理着计算机的硬件资源,并为用户提供友好的接口,使得用户可以方便地执行各种任务。操作系统期末复习是一个重要的学习阶段,它涵盖了操作系统的核心概念、设计原理以及常见...
王道考研操作系统笔记是针对准备操作系统考研的学生所编写的复习资料,旨在帮助他们深入理解操作系统的基本概念、原理和设计方法。这份资料可能涵盖了进程管理、内存管理、文件系统、输入/输出(I/O)管理以及调度...
事实上,全新操作系统的设计和改良的关键工作就是对体系结构的设计,经过几十年以来的发展,计算机操作系统已经由一开始的简单控制循环体发展成为较为复杂的分布式操作系统,再加上计算机用户需求的愈发多样化,...
操作系统架构研究报告旨在深入探讨车载操作系统的现状、发展趋势以及标准化需求,为汽车行业提供指导。报告由资源管理与信息服务标准工作组于2021年7月发布,涵盖了术语定义、市场分析、架构演进、功能建议等多个...
无线传感器网络操作系统介绍和比较 无线传感器网络(WSN)是一种特殊的网络,它由大量的微型传感器节点组成,通过无线通信方式形成一个多跳的、自组织的网络。这些微型传感器节点可以协作地感知、采集和处理网络...
嵌入式操作系统是运行在嵌入式计算机系统上的操作系统,它控制嵌入式系统的硬件资源,提供应用程序执行环境,并且支持嵌入式系统的各种应用。与通用操作系统相比,嵌入式操作系统通常具有体积小、实时性强、高可靠性...
操作系统是计算机科学中的核心课程,哈工大的操作系统实验旨在通过实践加深学生对操作系统原理的理解,提高他们的编程和问题解决能力。李治军教授的实验课程通常涵盖了操作系统的主要方面,包括进程管理、内存管理、...
标题中提到的“中科方德桌面操作系统V5.0(X86)”指的是由中国科学技术大学方德软件有限公司开发的第五个版本的桌面操作系统。这个版本是面向X86架构设计的,意味着它能够运行在基于x86指令集的个人计算机或服务器...
麒麟桌面操作系统软件(龙芯版)V7.0 麒麟桌面操作系统软件(兆芯版)V7.0 麒麟高级服务器操作系统软件V7.0 update6 麒麟高级服务器操作系统软件(海光版)V7.0 麒麟高级服务器操作系统软件(龙芯64位)V7.0...
不过,根据标题“计算机操作系统.pdf”,我可以推断该文件可能涵盖了计算机操作系统领域的相关知识点。基于这一假设,我将提供一个关于计算机操作系统的知识点概述,希望能符合您的要求。 计算机操作系统是计算机...