-
进程的创建和终止(超详细)
所属栏目:[安全] 日期:2020-12-24 热度:157
大多数系统的进程能够并发执行,它们可以动态创建和删除。因此,操作系统必须提供机制,用于创建进程和终止进程。 进程创建 进程在执行过程中可能创建多个新的进程。创建进程称为父进程,而新的进程称为子进程。每个新进程可以再创建其他进程,从而形成进[详细]
-
什么是进程控制块,进程控制块的作用
所属栏目:[安全] 日期:2020-12-24 热度:83
操作系统内的每个进程表示,釆用进程控制块(Process Control Block,PCB),也称为任务控制块。 图 1 进程控制块(PCB) 每个进程控制块如图 1 所示,它包含许多与当前进程相关的信息: 进程状态:状态可以包括新的、就绪、运行、等待、停止等。 程序计数[详细]
-
线程池是什么,线程池及其原理
所属栏目:[安全] 日期:2020-12-24 热度:67
学习线程时,我们描述了一个多线程的 Web 服务器,每当服务器接收到一个请求时,它都会创建一个单独线程来处理请求。虽然创建一个单独线程肯定优于创建一个单独进程,但是多线程服务器仍然有些潜在的问题。 第一个问题是创建线程所需的时间多少,以及线程[详细]
-
进程间通信(IPC):共享内存和消息队列原理详解
所属栏目:[安全] 日期:2020-12-24 热度:182
操作系统内的并发执行进程可以是独立的也可以是协作的: 如果一个进程不能影响其他进程或受其他进程影响,那么该进程是独立的,换句话说,不与任何其他进程共享数据的进程是独立的; 如果一个进程能影响其他进程或受其他进程所影响,那么该进程是协作的。[详细]
-
线程是什么,线程及其特点
所属栏目:[安全] 日期:2020-12-24 热度:125
几乎所有现代操作系统都允许一个进程包含多个线程。每个线程是 CPU 使用的一个基本单元,它包括线程 ID、程序计数器、寄存器组和堆栈。 进程与同一进程的其他线程共享代码段、数据段和其他操作系统资源,如打开文件和信号。每个传统或重量级进程只有单个控[详细]
-
操作系统的设计和实现过程
所属栏目:[安全] 日期:2020-12-24 热度:90
本节讨论操作系统设计和实现面临的问题。虽然这些问题没有完整的解决方案,但是有些方法还是行之有效的。 设计目标 系统设计的首要问题是,定义目标和规范。从高层来说,系统设计取决于所选硬件和系统类型:批处理、分时、单用户、多用户、分布式、实时或[详细]
-
操作系统的体系结构(单处理器、多处理器和集群)
所属栏目:[安全] 日期:2020-12-24 热度:104
前面章节中,我们从操作系统的运行过程、存储结构以及IO结构介绍了典型计算机系统的通用结构。计算机系统可能通过许多不同途径来组成,这里根据采用的通用处理器数量来进行粗略分类。 单处理器系统 直到最近,大多数系统仍采用单处理器。单处理器系统只有[详细]
-
进程状态及其转换过程
所属栏目:[安全] 日期:2020-12-24 热度:130
进程在执行时会改变状态。进程状态,部分取决于进程的当前活动。 图 1 显示的是进程活动的状态图。 图 1 进程状态图 从图中可以看出,每个进程可能处于以下几种不同的状态: 新的:进程正在创建。 运行:指令正在执行。 等待:进程等待发生某个事件(如 I/[详细]
-
什么是线程库,线程库类别及其应用
所属栏目:[安全] 日期:2020-12-24 热度:99
线程库为程序员提供创建和管理线程的 API。实现线程库的主要方法有两种: 在用户空间中提供一个没有内核支持的库。这种库的所有代码和数据结构都位于用户空间。这意味着,调用库内的一个函数只是导致了用户空间内的一个本地函数的调用,而不是系统调用。[详细]
-
什么是进程调度,进程调度的来龙去脉
所属栏目:[安全] 日期:2020-12-24 热度:63
多道程序设计的目标是,无论何时都有进程运行,从而最大化 CPU 利用率。分时系统的目的是在进程之间快速切换 CPU,以便用户在程序运行时能与其交互。 为了满足这些目标,进程调度器选择一个可用进程(可能从多个可用进程集合中)到 CPU上执行。如果有多个[详细]
-
系统调用的类型(六大类)
所属栏目:[安全] 日期:2020-12-24 热度:132
系统调用大致可分为六大类:进程控制(process control)、文件管理(file manipulation)、设备管理(device manipulation)、信息维护(information maintenance)、通信(communication) 和保护(protection)。 进程控制 执行程序应能正常(end())或[详细]
-
管道(无名管道)通信机制原理和实现详解
所属栏目:[安全] 日期:2020-12-24 热度:87
管道(pipe)允许两个进程进行通信,是早期 UNIX 系统最早使用的一种 IPC 机制。管道为进程之间的相互通信提供了一种较为简单的方法,尽管也有一定的局限性。 在实现管道时,应该考虑以下四个问题: 管道允许单向通信还是双向通信? 如果允许双向通信,它[详细]
-
命令行界面和图形用户界面(GUI)
所属栏目:[安全] 日期:2020-12-24 热度:150
正如前面所述,用户与操作系统的界面有多种方式。这里,讨论两种基本方案: 提供命令行界面或命令解释程序(command interpreter),允许用户直接输入命令,以供操作系统执行。 允许用户通过图形用户界面(GUI)与操作系统交互。 命令解释程序 有的操作系[详细]
-
什么是多核,并行和并发的区别
所属栏目:[安全] 日期:2020-12-24 热度:61
在计算机设计早期,为了响应更多计算性能的需要,单处理器系统发展成为多处理器系统。更现代的、类似的系统设计趋势是将多个计算核放到单个芯片。无论多个计算核是在多个CPU芯片上还是在单个 CPU 芯片上,我们称之为多核或多处理器系统。 多线程编程提供机[详细]
-
套接字是什么,套接字通信及其原理
所属栏目:[安全] 日期:2020-12-24 热度:106
套接字(socket)为通信的端点,每个套接字由一个 IP 地址和一个端口号组成。通过网络通信的每对进程需要使用一对套接字,即每个进程各有一个。 通常,套接字采用客户机-服务器架构。服务器通过监听指定端口,来等待客户请求。服务器在收到请求后,接受来[详细]
-
阿里云ECS(经典网络)如何实现内网互联?开放新机器访问旧的red
所属栏目:[安全] 日期:2020-12-24 热度:75
《阿里云ECS(经典网络)如何实现内网互联?开放新机器访问旧的redis和mysql?》要点: 本文介绍了阿里云ECS(经典网络)如何实现内网互联?开放新机器访问旧的redis和mysql?,希望对您有用。如果有疑问,可以联系我们。 今天任务是把2台阿里云ECS服务器[详细]
-
操作系统的计算环境应用
所属栏目:[安全] 日期:2020-12-24 热度:162
本节,我们讨论操作系统如何用于各种计算环境。 传统计算 随着计算不断成熟,传统计算的许多划分已变得模糊了。看一看“典型办公环境”。几年前,这种环境包括一组联网的 PC,其中服务器提供文件和打印的服务;远程访问很不方便,可移动性是通过釆用笔记本[详细]
-
多道程序设计和分时系统
所属栏目:[安全] 日期:2020-12-24 热度:90
我们已讨论了计算机系统的基本组成和体系结构,现在讨论操作系统。操作系统为执行程序而提供环境。操作系统可以通过许多不同方式来构建,因此内部组织差异很大。不过,它们也有许多共同点,这里将会加以讨论。 多道程序设计(multiprogramming) 操作系统[详细]
-
操作系统的功能和作用
所属栏目:[安全] 日期:2020-12-24 热度:198
操作系统提供环境以便执行程序。它为程序及程序用户提供某些服务。当然,提供的具体服务随操作系统不同而不同,但还是有些是共同的。这些操作系统服务方便了程序员,使得编程更加容易。图 1 显示操作系统服务及其相互关系。 图 1 操作系统服务的视图 操作[详细]
-
开源操作系统的类别及其特点
所属栏目:[安全] 日期:2020-12-24 热度:179
我们说过,由于有大量的开源操作系统,操作系统的学习容易得多。 开源操作系统(open-source operating system)具有源码,而非只有编译过的二进制码。Linux 是最为著名的开源操作系统,而 Microsoft Windows 则是一个著名的、闭源(closed source)的系统[详细]
-
什么是操作系统
所属栏目:[安全] 日期:2020-12-24 热度:164
我们首先讨论操作系统在整个计算机系统中的作用。计算机系统可以粗分为四个组件:硬件、操作系统、应用程序和用户(图 1)。 图 1 计算机系统组件的抽象视图 硬件(hardware),如中央处理单元(Central Processing Unit,CPU)、内存(memory)、输入/输[详细]
-
操作系统组织数据的方法(详解版)
所属栏目:[安全] 日期:2020-12-24 热度:81
下面讨论操作系统实现的一个核心问题:系统如何组织数据。本节简要讨论多个基本数据结构,它们在操作系统中用得很多。 列表、堆栈及队列 数组是个简单的数据结构,它的元素可被直接访问。例如,内存就是一个数组。如果所存的数据项大于一字节,那么可用多[详细]
-
进程是什么,进程和程序的区别
所属栏目:[安全] 日期:2020-12-24 热度:175
在未被 CPU 执行之前,程序做不了任何事。如前所述,执行的程序称为进程。 分时系统的用户程序(如编译器)就是进程,PC 的单个用户运行的字处理程序也是进程。系统任务,如将输出发到打印机,也可以是进程(或至少是进程的一部分)。现在,进程可以作为作[详细]
-
操作系统的存储结构及层次(含示意图)
所属栏目:[安全] 日期:2020-12-24 热度:63
CPU 只能从内存中加载指令,因此执行程序必须位于内存。通用计算机运行的大多数程序通常位于可读写内存,称为内存(main memory),也称为随机访问内存(Random Access Memory,RAM)。内存通常为动态随机访问内存(Dynamic Random Access Memory,DRAM)[详细]
-
操作系统运行过程详解
所属栏目:[安全] 日期:2020-12-24 热度:114
现代通用计算机系统包括一个或多个 CPU 和若干设备控制器,通过公用总线相连而成,该总线提供了共享内存的访问(图 1 )。每个设备控制器负责一类特定的设备(如磁盘驱动器、音频设备或视频显示器)。CPU 与设备控制器可以并发执行,并且竞争访问内存。为[详细]