操作系统必备基础知识
计算机操作系统基础知识

计算机操作系统基础知识计算机操作系统是一种控制和管理计算机硬件和软件资源的软件系统。
它为应用程序提供了一个运行环境,并且对硬件资源进行了有效地管理和分配。
计算机操作系统的基础知识对于理解计算机系统的工作原理和提高计算机操作技能非常重要。
本文将介绍计算机操作系统的一些基础知识。
一、操作系统的定义与功能操作系统是计算机系统中的一种软件,它负责管理计算机硬件和软件资源,并为应用程序提供一个运行环境。
操作系统的主要功能包括进程管理、文件管理、内存管理、设备管理和用户界面等。
1. 进程管理:进程是指计算机中正在运行的一个程序。
操作系统负责对进程的创建、调度和终止进行管理,以保证系统的高效运行。
2. 文件管理:文件是计算机存储数据的一种方式。
操作系统负责对文件的创建、读取、写入和删除进行管理,以便用户能够方便地访问和管理文件。
3. 内存管理:内存是计算机用于存储程序和数据的地方。
操作系统负责对内存的分配和回收进行管理,以提供给应用程序足够的内存空间。
4. 设备管理:设备管理是指对计算机硬件设备的管理和控制。
操作系统负责对各种输入输出设备的分配和控制,以满足应用程序对设备的需求。
5. 用户界面:用户界面是用户与计算机系统进行交互的方式。
操作系统提供了命令行界面和图形界面两种方式,使用户能够方便地操作计算机。
二、操作系统的类型根据操作系统的特点和用途,可以将操作系统分为主机操作系统、网络操作系统和嵌入式操作系统等几种类型。
1. 主机操作系统:主机操作系统是指安装在计算机主机上的操作系统,它能够管理主机的硬件和软件资源。
常见的主机操作系统有Windows、Linux和macOS等。
2. 网络操作系统:网络操作系统是指用于管理网络服务器和网络设备的操作系统。
它提供了一些特定的功能,如文件共享、打印服务和网络安全等。
常见的网络操作系统有Windows Server和Linux等。
3. 嵌入式操作系统:嵌入式操作系统是指安装在嵌入式设备中的操作系统,它通常具有一定的实时性和可靠性。
计算机文化基础教程操作系统基础知识

2.1 操作系统概述
2.1 操作系统概述
• 2.1.1 什么是操作系统 • 2.1.2 操作系统的功能 • 2.1.3 操作系统的分类 • 2.1.4 微机常用的操作系统
返回目录
返回目录
2.1.1 什么是操作系统
• 操作系统(Operating System)是管理和 控制计算机系统软、硬件资源的大型程序, 是最基本的系统软件,它不仅管理和控制 系统软件,也为各种软件提供良好的开发 和运行环境,是用户和计算机之间的接口。 设计操作系统的主要目的是提高系统资源 的利用率、方便用户使用计算机。
返回目录
2.1.3 操作系统的分类
• 实时操作系统
– 实时操作系统能及时响应外部事件的请求, 在一定的时间内完成对事件的处理,并控制 所有实时设备协调一致地进行工作。实时系 统通常应用于对及时性要求很高的工业生产 自动控制、军事方面的自动控制等实时过程 控制系统或银行的数据处理、预订票务管理 等实时信息系统处理系统。
返回目录
2.1.3 操作系统的分类
• 网络操作系统
– 网络操作系统提供用户和计算机网络之间的 接口。网络操作系统不仅具有通常操作系统 的功能,还具有管理计算机网络,进行网络 通信、网络资源共享的功能。
返回目录
2.1.3 操作系统的分类
• 分布式操作系统
– 分布式操作系统将多台计算机连接起来组成 计算机网络,均衡各台计算机的负荷并可以 互相协作完成一个共同的任务。在分布式系 统中,各台计算机无主次之分,共享资源。 因此,分布式操作系统下的多台计算机,对 用户来说就象是一台计算机。
返回目录
2.2.1 DOS操作系统的发展
• MS-DOS的前身是Seattle Computer Products公司于1980年推出的PC-DOS。 微软公司在1981年买下了PC-DOS的专利, 经修改、扩充后更名为MS-DOS,即MSDOS V1.0版。随着微机硬件和软件的不断 发展,微软公司也在不断地更新DOS版本。 从1981年推出的DOS V1.0到今天,已经过 了十多次修改,目前最新的版本为MSDOS V6.22。
操作系统基础必学知识点

操作系统基础必学知识点以下是操作系统基础必学知识点的一些例子:1. 进程和线程:操作系统管理和执行的基本单位是进程,进程由线程组成。
了解进程和线程的特点、区别和关系是理解操作系统的基础。
2. 调度算法:操作系统根据一定的策略选择下一个要执行的进程或线程。
了解不同的调度算法,如先来先服务、短作业优先、优先级调度、时间片轮转等,以及它们的优缺点和适用场景。
3. 内存管理:操作系统负责管理计算机的内存资源。
了解虚拟内存、页面置换算法(如最近最少使用算法、先进先出算法)和内存分配算法(如动态分区分配、固定分区分配)等相关知识。
4. 文件系统:操作系统负责管理计算机的文件和目录结构。
了解文件系统的层次结构、文件访问权限、文件组织方式(如顺序文件、索引文件、多级索引文件)和文件存储方式(如连续存储、链式存储、索引存储)。
5. 设备管理:操作系统负责管理计算机的硬件设备。
了解设备驱动程序、设备控制块(DCB)、设备队列、中断和DMA传输等相关知识。
6. 死锁:死锁是多个进程或线程因争夺资源而无法继续执行的状况。
了解死锁产生的原因、预防和解决死锁的方法,如资源分级、资源有序分配、死锁检测和死锁恢复等。
7. 各种文件和目录管理命令:操作系统提供了各种命令来管理文件和目录。
了解常用的文件和目录管理命令,如创建、读取、写入、复制、移动、删除文件和目录等。
8. 并发和互斥:并发是指多个进程或线程同时执行,互斥是指对共享资源的访问需要同步控制。
了解并发和互斥的概念、原理和实现方法,如信号量、互斥量、条件变量等。
9. 虚拟化技术:虚拟化技术使得一台计算机可以同时运行多个操作系统或应用程序。
了解虚拟化的原理和类型,如全虚拟化、半虚拟化、容器虚拟化等。
10. 分布式系统:分布式系统由多台计算机组成,通过网络进行通信和协调。
了解分布式系统的特点、通信方式(如远程过程调用、消息传递)、一致性协议(如Paxos、Raft)和容错机制等。
Windows-7操作系统基础知识

(1)文本框。
文本框是用户输入文字信息的区域。
第六十一页,编辑于星期五:六点 三十五分。
(2)列表框。 列表框显示出可供选择的选项。
第六十二页,编辑于星期五:六点 三十五分。
(3)下拉列表框。
操作方法:单击下拉列表框右侧的向 下箭头,然后在下拉列表框中单击要选择 的选项。
第二十页,编辑于星期五:六点 三十五分。
4.2 桌面的个性化设置
1.使用Windows Aero界面
(1)在桌面空白处单击鼠标右键,在展 开的菜单中选择“个性化”命令。
(2)打开“个性化”窗口,在“Aero主 题”栏下,选择一种Aero主题,如选择 “自然”,单击即可切换到该主题,如图 2-2所示。
系统菜单位于窗口的左上角,其图标 为该应用程序的图标。
第四十八页,编辑于星期五:六点 三十五分。
(2)标题栏。
标题栏位于窗口的顶部,单独占一行。
第四十九页,编辑于星期五:六点 三十五分。
(3)菜单栏。 菜单栏位于标题栏的下面,列出该应
用程序可用的菜单。
第五十页,编辑于星期五:六点 三十五分。
(4)工具栏。
弹出“开始”菜单,单击其中的任意选 项可启动对应的系统程序或应用程序。
第三十三页,编辑于星期五:六点 三十五分。
(2)快速启动区:
用于显示当前打开程序窗口的对应图 标,使用该图标可以进行还原窗口到桌面、 切换和关闭窗口等操作,拖动这些图标可 以改变它们的排列顺序。
这里对打开的窗口和程序进行了归类, 相同的程序放在一起,如图2-8所示。
(2)打开“显示”窗口,单击“设置 自定义文本大小(DPI)”链接,打开 “自定义DPI设置”对话框,调整缩放的 百分比即可,如图2-7所示。
操作系统基础知识

分 为 系 统 空 间 和 用 19A2000H 户 空 间 , 存 储 管 理 1D61000H 主 要 管 理 用 户 空 间 。2243000H
2537000H
系统空间
6000KB
3864KB
3836KB
用 户
5000KB
空
间
3024KB
存储管理的主要功能
限制地址越界:操作系统对每个进程产生的 地址进行检查,只允许在各自的内存空间或 共享区域中运行和存取数据。
防止操作越权:用户进程不允许访问系统进 程的内存空间;有些进程可以修改共享区域 中的数据,但某些进程只能执行读操作。
3.4.3 文件管理
文件管理是对文件、目录和外部 存储器进 行管理,提供按名存取文件的手段,方便用户 对文件进行存取、保护和共享操作,以便充分 利用外存储器空间。
用 户 作业 读卡机
结
打印机
果
中断请求
I/O处理机 通道
主机
磁带
计算机
3.3 操作系统的分类及特征
操作系统是计算机系统中的核心软件,其 类型与计算机的硬件结构有着紧密联系,通过 操作系统才能实现硬件的功能,操作系统的类 型也决定着计算机系统的运行模式、作用和功 能。
3.3.1 操作系统的基本类型
根据操作系统的功能特征,可以将操作统 分为多道批处理系统、分时系统和实时系统3种 基本类型。
存储管理
C 存储保护
D 虚拟存储器
用户能使用比实际内存 大得多的虚拟空间,实 现了内存的扩充。
1.存储器的分配
为了便于分配和收回内存空间,操作系统 通过内存分配表和内存空闲表管理内存储器。
进程标识 2456 3220 3300 2456
linux操作系统知识点

Linux 操作系统基础知识概览以下是一些关于Linux 操作系统的常见知识点:1.Linux 基础:●Linux 的起源和发展历史●Linux 的主要组成部分:内核、Shell、文件系统等●常见的Linux 发行版(如Ubuntu、Debian、CentOS 等)●常用的命令行工具和基本命令(如ls、cd、mkdir、rm 等)2.用户和权限管理:●用户账户的创建和管理●用户组的概念和使用●文件和目录的权限设置和管理●sudo 权限和root 用户的重要性3.文件系统:●Linux 文件系统的层级结构●常见的文件系统类型(如ext4、XFS、Btrfs 等)●挂载和卸载文件系统●磁盘和分区管理工具(如fdisk、parted 等)4.进程管理:●进程的概念和属性●进程的创建、终止和管理●进程状态的了解和监控●进程间通信的方式(如管道、信号、共享内存等)5.网络和安全性:●网络配置和网络接口管理●网络命令和工具(如ifconfig、ping、ssh 等)●防火墙和安全性措施(如iptables、SELinux 等)●远程访问和远程管理(如SSH、SCP、rsync 等)6.软件包管理:●软件包管理系统(如apt、yum、dnf 等)●软件包的安装、升级和卸载●软件包的依赖关系和解决依赖问题●软件源和仓库的管理7.Shell 脚本编程:●Shell 脚本的基础语法和结构●变量、条件语句、循环和函数的使用●Shell 命令和管道的组合●脚本的调试和错误处理以上只是Linux 操作系统知识的一些常见方面,涵盖了基础知识、用户和权限管理、文件系统、进程管理、网络和安全性、软件包管理以及Shell 脚本编程等。
要深入学习Linux,建议进一步学习和实践这些知识点,并探索更多高级主题,如网络服务配置、系统性能优化等。
电脑操作系统基础知识大全

电脑操作系统基础知识大全这是一本现代操作系统介绍的电子书,虽然看上去很专业,但是还是很通俗,略有电脑基础的人可以读一读,会从更加底层一些的角度全面认识电脑。
下面就让小编带你去看看电脑操作系统基础知识吧,希望能帮助到大家!操作系统基础解析:Windows和Linu__ 到底有何不同?计算机操作系统是基础软件,分为闭源和开源两类。
广义的操作系统包括:计算机(PC、工作站、服务器)系统、移动端系统(例如鸿蒙)、嵌入式系统等。
本文只涉及计算机操作系统。
计算机操作系统的功能角色:作为用户和计算机硬件资源之间的交互,管理调度硬件资源,为应用软件提供运行环境。
操作系统属于基础软件,是系统级程序的汇集,为用户屏蔽底层硬件复杂度,并提供编程接口和操作入口。
操作系统控制处理器(CPU)调度系统资源,控制应用程序执行的时机,决定各个程序分配的处理器时间(CPU time)。
操作系统需要兼容底层硬件和应用软件,才能实现计算机的功能。
根据核心代码是否向开放,操作系统可划分为两类:开源系统、闭源系统。
1. 闭源操作系统:代码不开放,以微软 Windows 系统为代表微软公司内部的研发团队开发Windows 操作系统,并开发配套的应用软件,比如 Office。
在生态建设方面,Intel 和 Windows 长期合作形成 Wintel 体系,在 PC 端市占率全球领先Windows 系统的访问分为User mode(用户模式)和Kernel mode(内核模式)。
用户级的应用程序在用户模式中运行,而系统级的程序在内核模式中运行。
内核模式允许访问所有的系统内存和 CPU 指令。
Windows 系统从最早期的 16 位、32 位到现在流行的 64 位,系统版本从最初的Windows 1.0 到Windows 95、Windows 98、Windows 2000、Windows 2003、Windows __P、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10 和Windows Server 服务器企业级操作系统,不断持续更新。
操作系统基础知识

操作系统基础知识操作系统是计算机硬件和应用软件之间的桥梁,是计算机系统中最核心的软件之一。
操作系统(Operating System)是指控制和管理计算机硬件与软件资源,合理地组织计算机工作流程,为用户提供良好的操作环境和服务。
操作系统是计算机系统中最基本的系统软件,也是用户与计算机硬件之间的接口和互动层。
操作系统具有多种功能,包括管理计算机硬件资源、提供程序运行环境、控制输入输出设备、处理中断和异常的响应、实现进程管理与调度、内存管理与虚拟内存、文件管理与保护、网络通信与安全等。
操作系统的主要目标是提高系统的可靠性和性能,使用户能够更加方便、简单、高效和安全地使用计算机资源。
现代计算机操作系统通常包含核心内核和外壳两部分,核心内核被放置在操作系统的最底层,主要负责计算机的硬件管理和资源调度;而外壳则一般指用户接口的设计,包含操作系统的各种用户工具和应用程序。
在操作系统发展的过程中,不同类型的操作系统已经出现,并逐渐得到了广泛的应用。
常见的操作系统包括DOS、Windows、Unix/Linux和Mac OS等。
DOS系统是IBM PC机刚刚问世时推出的,它的应用比较广泛,但是其稳定性和可扩展性较差。
Windows操作系统是由微软公司于1985年问世,随着Windows 95、Windows XP、Windows 7、Windows 10等推出,逐渐成为了全球最流行的操作系统。
Unix和Linux则是以多用户、多任务为主要特点的操作系统,它们被广泛应用于大型服务器、移动设备和工控设备等领域。
其中Linux 操作系统,作为一种免费的开源操作系统,被广泛应用于各种领域,并迅速成为了世界上最流行的操作系统之一。
在当前云计算、人工智能等技术的推动下,以及物联网应用的蓬勃发展,操作系统的发展也在不断地进行着。
面对新的挑战和机遇,操作系统需要适应新的环境和需求,在保持原有功能的前提下,不断地更新和扩展新的功能,以便更好地满足用户的需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统必备基础知识今天给大家推荐两份大佬们总结的PDF,一份是计算机基础知识,一份是操作系统,反正帅地看完之后,和面试官聊天,都有点飘了,废话不多说,下面就让小编带你去看看哪些操作系统必备基础知识,希望能帮助到大家!操作系统基础知识操作系统是计算机体系中必不可少的核心系统软件,其他软件(如编辑程序、汇编程序、编译程序、数据库管理系统等系统软件,以及大量应用软件)是建立在操作系统的基础上,并在操作系统的统一管理和支持下运行。
操作系统是用户与计算机之间的桥梁,用户可以通过操作系统提供的功能访问计算机系统中的软硬件资源。
操作系统的作用是通过资源管理提高计算机系统的效率,改善人机界面,为用户提供有好的工作环境。
有效地组织和管理系统中的各种软硬件资源,合理的组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。
简单的说,操作系统就是运行在计算机硬件和软件(其他系统软件和应用软件)之间的一个系统软件,它的主要作用就是让计算机能够运行的很好的同时让你觉得也不错。
操作系统分为这么几种:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、嵌入式操作系统、微机操作系统(这个我们就比较常见了,比如Linux、Windows、Unix、手机上的基于Unix的安卓系统等等)。
操作系统的功能可分为5大部分:处理机(CPU)管理、文件管理、存储管理、设备管理和作业管理。
下面说说处理机管理中的一些基础知识。
三态模型五态模型在多道程序环境的系统中,存在多个可以一起进行(并发执行)的进程,因此必然会存在进程之间的通信问题。
进程间的通信主要有同步、互斥、调度、死锁、信号量机制等问题进程间的同步多个进程都是独立进行的,有的时候需要在某些地方协调一下,比如进程A在生产一个原件,进程B要加工这个原件,这时候就需要进程B等待进程A完成后才能开始进行,这就是进程之间的同步。
进程间的互斥这就是指两个进程都想用同一个资源,但是这个资源同时只能被一个进程使用。
这就是进程之间的互斥,这些有限的资源叫做临界资源。
要使用这些临界资源的程序段就叫做临界区,对临界区的管理原则是:有空即进( 资源空闲就用)、无空则等( 没有资源就等一会)、有限等待(不能一直等下去)、让权等待(实在进不去就走吧)。
为了解决进程间的同步与互斥的问题,荷兰学者Dijkstra提出了信号量的机制,发展到现在主要有整型信号量、记录型信号量和信号量集机制。
在引入了信号量机制后,为了提高通信效率,能够大量传输数据,系统引入了高级通信方式,主要分为共享存储方式(找一块区域,把数据都放在这里)、消息传递模式(提供原语直接操作)和管道通信(在两个进程之间加个管道,有消息都放在那自取)。
死锁是指两个进程互相要求对方已经占用的资源,否则同时进入临界区的时候就会出现问题。
就好像有的国家手里有技术但没有劳动力,别的国家有劳动力没有技术,两个国家都不让步,这不就出现问题了嘛。
进程调度分为三级,高级、中级和低级调度。
其中,高级调度是决定哪个进程可以进入就绪状态;中级调度决定哪个就绪的进程可以进入内存以便获得CPU;低级调度决定处于内存中的进程哪个可以得到CPU,是操作系统中最活跃、最重要的调度程序。
进程调度的算法一般有先来先服务(FCFS,按照顺序来,很好理解)、时间片轮转(每个进程只能运行一段时间,到时间就等待,一般时间片分为固定和可变的时间片)、优先级调度(优先级越高的程序越早执行呗)、多级反馈调度。
由于进程是一个比较独立的单元,总是这么切换、创建、销毁的开销太大,所以引入线程这一概念,可以认为进程就是有好几个线程组成的,值得一提的是线程也有就绪、运行、阻塞三种状态,所以进程也被称为“轻量级进程”。
操作系统基础知识注意:操作系统是掌握计算机的核心知识,一定要好好学啊。
一、概述1. 操作系统基本特征1. 并发并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。
并行需要硬件支持,如多流水线或者多处理器。
操作系统通过引入进程和线程,使得程序能够并发运行。
2. 共享共享是指系统中的资源可以被多个并发进程共同使用。
有两种共享方式:互斥共享和同时共享。
互斥共享的资源称为临界资源,例如打印机等,在同一时间只允许一个进程访问,需要用同步机制来实现对临界资源的访问。
3. 虚拟虚拟技术把一个物理实体转换为多个逻辑实体。
利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务。
主要有两种虚拟技术:时分复用技术和空分复用技术。
例如多个进程能在同一个处理器上并发执行使用了时分复用技术,让每个进程轮流占有处理器,每次只执行一小个时间片并快速切换。
4. 异步异步指进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进。
但只要运行环境相同,OS需要保证程序运行的结果也要相同。
2. 操作系统基本功能1. 进程管理进程控制、进程同步、进程通信、死锁处理、处理机调度等。
2. 内存管理内存分配、地址映射、内存保护与共享、虚拟内存等。
3. 文件管理文件存储空间的管理、目录管理、文件读写管理和保护等。
4. 设备管理完成用户的I/O 请求,方便用户使用各种设备,并提高设备的利用率。
主要包括缓冲管理、设备分配、设备处理、虛拟设备等。
4. 大内核和微内核1. 大内核大内核是将操作系统功能作为一个紧密结合的整体放到内核。
由于各模块共享信息,因此有很高的性能。
2. 微内核由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。
移出的部分根据分层的原则划分成若干服务,相互独立。
在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。
因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。
5. 中断分类1. 外中断由 CPU 执行指令以外的事件引起,如 I/O 完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。
此外还有时钟中断、控制台中断等。
2. 异常由 CPU 执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等。
6. 什么是堆和栈?说一下堆栈都存储哪些数据?栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。
其操作方式类似于数据结构中的栈。
堆区(heap) —一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。
数据结构中这两个完全就不放一块来讲,数据结构中栈和队列才是好基友,我想新手也很容易区分。
我想需要区分的情况肯定不是在数据结构话题下,而大多是在 OS 关于不同对象的内存分配这块上。
简单讲的话,在 C 语言中:int a[N]; // go on a stackint__ a = (int __)malloc(sizeof(int) __ N); // go on a heap7. 如何理解分布式锁?分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。
在分布式系统中,常常需要协调他们的动作。
如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。
二、进程管理1. 进程与线程1. 进程进程是资源分配的基本单位,用来管理资源(例如:内存,文件,网络等资源)进程控制块(Process Control Block, PCB) 描述进程的基本信息和运行状态,所谓的创建进程和撤销进程,都是指对PCB 的操作。
(PCB是描述进程的数据结构)下图显示了 4 个程序创建了 4 个进程,这 4 个进程可以并发地执行。
2. 线程线程是独立调度的基本单位。
一个进程中可以有多个线程,它们共享进程资源。
QQ 和浏览器是两个进程,浏览器进程里面有很多线程,例如HTTP 请求线程、事件响应线程、渲染线程等等,线程的并发执行使得在浏览器中点击一个新链接从而发起HTTP 请求时,浏览器还可以响应用户的其它事件。
3. 区别(一)拥有资源进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。
(二)调度线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程内的线程切换到另一个进程中的线程时,会引起进程切换。
(三)系统开销由于创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O 设备等,所付出的开销远大于创建或撤销线程时的开销。
类似地,在进行进程切换时,涉及当前执行进程 CPU 环境的保存及新调度进程 CPU 环境的设置,而线程切换时只需保存和设置少量寄存器内容,开销很小。
(四)通信方面进程间通信 (IPC) 需要进程同步和互斥手段的辅助,以保证数据的一致性。
而线程间可以通过直接读/写同一进程中的数据段(如全局变量)来进行通信。
2. 进程状态的切换(生命周期)就绪状态(ready):等待被调度运行状态(running)阻塞状态(waiting):等待资源应该注意以下内容:只有就绪态和运行态可以相互转换,其它的都是单向转换。
就绪状态的进程通过调度算法从而获得 CPU 时间,转为运行状态;而运行状态的进程,在分配给它的 CPU 时间片用完之后就会转为就绪状态,等待下一次调度。
阻塞状态是缺少需要的资源从而由运行状态转换而来,但是该资源不包括 CPU 时间,缺少 CPU 时间会从运行态转换为就绪态。
进程只能自己阻塞自己,因为只有进程自身才知道何时需要等待某种事件的发生3. 进程调度算法不同环境的调度算法目标不同,因此需要针对不同环境来讨论调度算法。
1. 批处理系统批处理系统没有太多的用户操作,在该系统中,调度算法目标是保证吞吐量和周转时间(从提交到终止的时间)。
1.1 先来先服务先来先服务 first-come first-serverd(FCFS)按照请求的顺序进行调度。
有利于长作业,但不利于短作业,因为短作业必须一直等待前面的长作业执行完毕才能执行,而长作业又需要执行很长时间,造成了短作业等待时间过长。
1.2 短作业优先短作业优先 shortest job first(SJF)按估计运行时间最短的顺序进行调度。
长作业有可能会饿死,处于一直等待短作业执行完毕的状态。
因为如果一直有短作业到来,那么长作业永远得不到调度。
1.3 最短剩余时间优先最短剩余时间优先 shortest remaining time next(SRTN)按估计剩余时间最短的顺序进行调度。
2. 交互式系统交互式系统有大量的用户交互操作,在该系统中调度算法的目标是快速地进行响应。
2.1 时间片轮转将所有就绪进程按 FCFS (先来先服务) 的原则排成一个队列,每次调度时,把 CPU 时间分配给队首进程,该进程可以执行一个时间片。