操作系统概述_多道批处理系统算不算操作系统-程序员宅基地

技术标签: 操作系统  

第一章 操作系统概述

202196日 16:40

目录

1.1 什么是操作系统

1.1.1 操作系统的地位和目标

1.1.2 操作系统的作用和组成

1.1.3 操作系统举例

1.2 操作系统的发展历史

1.2.1 推动操作系统发展的主要动力

1.2.2 手工操作

1.2.4 多道批处理系统(multiprogramming system)

1.2.5 分时系统(time-sharing system)

1.2.6 实时系统(real-time system)(及时性,可靠性)

1.3 操作系统的分类

1.3.1 批处理操作系统(Batch Processing Operation System)

1.3.2 分时操作系统(Time Sharing Operating System)

1.3.3 实时操作系统(Real Time Operating System)

1.3.4 多处理操作系统

1.3.5 网络操作系统(NOS, Network Operating System)

1.3.6 分布式操作系统(Distributed Operating System)

1.3.7 个人计算机操作系统(Personal Computer Operating System)

1.4 操作系统的特征

1.4.1 操作系统的特征

1.4.2 操作系统的服务

1.5 操作系统的功能(系统资源的管理者)

1.5.1 处理机管理

1.5.2 存储管理

1.5.3 设备管理

1.5.4 信息管理(文件管理)

1.5.5 用户接口

1.6 常用的操作系统

1.7 操作系统的运行机制与体系结构

1.7.1 运行机制

1.7.2  操作系统内核

1.7.3 操作系统的体系结构

1.8 中断和异常

1.8.1 中断机制的诞生

1.8.2 中断的概念和作用

1.8.3 中断的分类

1.8.4 外中断的处理过程

1.9 系统调用

1.9.1 什么是系统调用,有何作用?

1.9.2 系统调用和库函数的区别

1.9.3 系统调用背后的过程

小结


1.1 什么是操作系统

1.1.1 操作系统的地位和目标

操作系统的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)

系统调用 == 系统调用命令 == 广义指令

操作系统的功能和目标——作为系统资源的管理者

操作系统的功能和目标——作为用户和计算机硬件之间的接口

操作系统的功能和目标——作为最接近硬件的层次

引入操作系统的目标:

    • 有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程
    • 方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别
    • 可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作

1.1.2 操作系统的作用和组成

操作系统的作用:

OS是计算机硬件、软件资源的管理者。

OS是用户使用系统硬件、软件的接口。

OS是扩展机(extended machine)/虚拟机(virtual machine)。

    • 管理对象包括:CPU、存储器、外部设备、信息(数据和软件);
    • 管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。
    • 系统命令(命令行、菜单式、命令脚本式、图形用户接口GUI);
    • 系统调用(形式上类似于过程调用,在应用编程中使用)。
    • 在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU);
    • 另外,为合理组织工作流程:作业管理、进程管理。

操作系统的非形式化定义(关键点):系统软件,程序模块的集合,资源管理和用户接口功能

1.1.3 操作系统举例

    • MS OS: MS DOS, MS Windows 3.x, Windows 95, Windows NT, Windows 2000
    • UNIX: BSD, SRV4, OSF1, SCO UNIX, AIX, Solaris, Linux
    • NOS: Novell Netware
    • RTOS: VxWorks, pSoS, Nucleus

1.2 操作系统的发展历史

1.2.1 推动操作系统发展的主要动力

(1) 提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算

(2) 方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)

(3) 器件的发展:CPU的位宽度(指令和数据)、快速外存

1.2.2 手工操作

1946 ~ 50年代(电子管),集中计算(计算中心),计算机资源昂贵;

    • 工作方式
      • 用户:用户既是程序员,又是操作员;用户是计算机专业人员;
      • 编程语言:为机器语言;
      • 输入输出:纸带或卡片;
    • 计算机的工作特点
      • 用户独占全机:不出现资源被其他用户占用,资源利用率低
      • CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;
    • 主要矛盾
      • 计算机处理能力的提高,手工操作的低效率(造成浪费);
      • 用户独占全机的所有资源;
    • 提高效率的途径
      • 专门的操作员,批处理

1.2.3 单道批处理系统(simple batch processing)(引入脱机输入/输出技术(用磁带完成),并监督程序负责控制作业的输入、输出)

50年代末 ~ 60年代中(晶体管):利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。

    • 批处理中的作业的组成:
      • 用户程序
      • 数据
      • 作业说明书(作业控制语言)
    • 批:
      • 供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)

两种批处理方式(1)

联机批处理

    • 用户提交作业:以纸带或卡片为介质;
    • 操作员合成批作业:结果为磁带介质;
    • 批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。
    • 这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态。

两种批处理方式(2)

脱机批处理

利用卫星机完成输入输出功能。主机与卫星机可并行工作。

    • 卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。
    • 作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作。
    • 优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。
    • 缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。

通道和中断技术

60年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。

    • 通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。
      • 通道有专用的I/O处理器,可与CPU并行工作
      • 可实现 I/O联机处理
    • 中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。
      • 中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务
      • 可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)
    • 监督程序发展为执行系统(executive system),常驻内存

单道批处理的主要问题

    • CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。
      • 对计算为主的作业,外设空闲;
      • 对I/O为主的作业,CPU空闲;

1.2.4 多道批处理系统(multiprogramming system)

60年代中 ~ 70年代中(集成电路),利用多道批处理提高资源的利用率。

    • 多道批处理的运行特征
      • 多道:内存中同时存放几个作业;
      • 宏观上并行运行:都处于运行状态,但都未运行完;
      • 微观上串行运行:各作业交替使用CPU;
    • 优点:
      • 资源利用率高:CPU和内存利用率较高,多道程序并发执行,共享计算机资源
      • 作业吞吐量大:单位时间内完成的工作总量大;
    • 缺点:
      • 用户交互性差:(相当于不提供人机交互的能力)整个作业完成后或中间出错时,才与用户交互,不利于调试和修改,用户响应时间长
      • 作业平均周转时间长:短作业的周转时间显著增长;

1.2.5 分时系统(time-sharing system)

    • 分时技术是把处理机的时间分成很短的时间片,这些时间片轮流地分配给各个联机的各作业使用。如果某作业在分配给它的时间片用完时仍未完成,则该作业就暂时中断,等待下一轮运行,并把处理机的控制权让给另一个作业使用。这样在一个相对较短的时间间隔内,每个用户作业都能得到快速响应,以实现人机交互。
    • 主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
    • 主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。
    • 抢先式和非抢先式(preemptive & non-preemptive):出让CPU是OS强迫或程序主动
      • 抢先式:OS强近出让CPU;
      • 非抢先式:程序主动出让CPU;
    • 分时系统的特点
      • 交互性:在调试和运行程序时由用户自己操作。
      • 多用户同时性:多个用户同时使用。
      • 独立性:对每个用户而言好象独占主机。

1.2.6 实时系统(real-time system)(及时性,可靠性

用于工业过程控制、军事实时控制、金融等领域,包括实时控制、实时信息处理

    • 要求:响应时间短,在一定范围之内;系统可靠性高
    • 主要优点:能够优先相应一些紧急任务,某些紧急任务不需时间片排队
    • 任务的类型:
      • 周期性实时任务:
      • 非周期性实时任务:截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间)

1.3 操作系统的分类

1.3.1 批处理操作系统(Batch Processing Operation System)

    • 作业的处理流程
      • 作业提交:作业的输入;
      • 作业执行
      • 作业完成:作业的输出;
      • 批处理的主要特征
        • 用户脱机使用计算机:作业提交后直到获得结果之前,用户无法与作业交互。
        • 作业成批处理
        • 多道程序并行:充分利用系统资源。
      • 多道批处理系统上的技术
        • 作业调度:作业的现场保存和恢复--上下文切换
        • 资源共享:资源的竞争和同步--互斥(exclusion)和同步(synchronization)机制
        • 内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)--覆盖(overlay),交换(swap)和虚拟存储(virtual memory)
        • 内存保护:系统存储区和各应用程序存储区不可冲突--存储保护
        • 文件非顺序存放、随机存取

多道程序系统和多处理系统(multiprocessing system)的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。

1.3.2 分时操作系统(Time Sharing Operating System)

    • 分时的定义
      • 把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片(time slice),每个用户依次轮流使用时间片。
    • 分时系统的特征
      • 多用户同时性:多个用户同时工作。
        • 共享系统资源,提高了资源利用率。节省维护开支,可靠性高:笨终端--至今仍在使用。促进了计算机的普遍应用,提高资源利用率:远地用户通过终端(较便宜)联机使用。
      • 独立性:各用户独立操作,互不干扰。
      • 交互性:系统能及时对用户的操作进行响应,显著提高调试和修改程序的效率:缩短了周转时间。
    • 分时系统的类型
      • 单道分时:调入-调出(Roll-in/Roll-out),I/O开销太大(在有卫星机处理I/O时,单道分时是有用的)
      • 前台后台分时:后台存放批处理作业,内存的划分是固定的,不灵活
      • 多道分时:需要解决加载程序时地址空间重定位的问题
    • 分时系统的主要问题
      • 及时接受输入:多个I/O端口,设立多路缓冲区
      • 及时响应:
        • 提高对换速度(快速外存)、
        • 限制用户数目、
        • 缩短时间片(可能引起对换次数增多,开销增大,程序总运行时间增大)
      • 减少对换信息量:
        • 可重入代码(re-entrant code);
        • 请求页式存储管理:只对换部分程序
    • 1.3.3 实时操作系统(Real Time Operating System)

      • 实时操作系统主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。
      • 实时系统的特征
        • 实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能;
        • 过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期;
          • 过载是指进入系统的任务数目超出系统的处理能力。
        • 高度可靠性和安全性:容错能力(如故障自动复位)和冗余备份(双机,关键部件);
      • 实时系统与批处理系统和分时系统的区别
        • 专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统。
        • 实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。
        • 高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。
        • 事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。
        • 与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。

1.3.4 多处理操作系统

1.3.5 网络操作系统(NOS, Network Operating System)

网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关规程的集合

网络功能与操作系统的结合程度是网络操作系统的重要性能指标。早期的作法是通常操作系统附加网络软件,过渡到网络功能成为操作系统的有机组成部分。它们的区别在于:网络功能的强弱、使用是否方便等。

    • 网络操作系统的功能
      • 通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等;
      • 网络通信功能:通过网络协议进行高效、可靠的数据传输;
      • 网络资源管理:协调各用户使用;
      • 网络服务:文件和设备共享,信息发布;
      • 网络管理:安全管理、故障管理、性能管理等;
      • 互操作:直接控制对方比交换数据更为困难;

1.3.6 分布式操作系统(Distributed Operating System)

分布式系统:处理和控制的分散(相对于集中式系统)

分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布。

分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配自动调度各处理机的工作负载。

    • 分布式操作系统与网络操作系统的比较
      • 耦合程度
        • 分布式系统是紧密耦合系统:分布式OS是在各机上统一建立的"OS同质",直接管理CPU、存储器和外设;统一进行全系统的管理;
        • 网络通常容许异种OS互连,各机上各种服务程序需按不同网络协议"协议同质"。
      • 并行性
        • 分布式OS可以将一个进程分散在各机上并行执行"进程迁移"
        • 网络则各机上的进程独立
      • 透明性:用户是否知道或指定资源在哪个机器上(如CPU、内存或外设)。
        • 分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;
        • 网络操作系统中对网络资源的使用要由用户明确指定
      • 健壮性:分布式系统要求更强的容错能力(工作时系统重构)

1.3.7 个人计算机操作系统(Personal Computer Operating System)

针对单用户使用的个人计算机进行优化的操作系统。

    • 个人计算机操作系统的特征
      • 应用领域:事务处理、个人娱乐,
      • 系统要求:使用方便、支持多种硬件和外部设备(多媒体设备、网络、远程通信)、效率不必很高。
    • 常用的个人计算机操作系统
      • 单用户单任务:MS DOS
      • 单用户多任务:OS/2, MS Windows 3.x, Windows 95, Windows NT, Windows 2000 Professional
      • 多用户多任务:UNIX(SCO UNIX, Solaris x86, Linux, FreeBSD)

1.4 操作系统的特征

    • 1.4.1 操作系统的特征

      • 并发(concurrency)(并发和共享是两个最基本的特征,二者互为存在条件)
        • 多个事件在同一时间间隔内发生(宏观上同时发生,微观上交替发生)。操作系统是一个并发系统,各进程间的并发,系统与应用间的并发。操作系统要完成这些并发过程的管理。并行(parallel)是指在同一时刻发生。
        • 并行:指两个或多个事件在同一时刻同时发生
        • 在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)。
        • 程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程。
      • 共享(sharing)
        • 多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。
        • 互斥共享(如音频设备):资源分配后到释放前,不能被其他进程所用。一个时间段内只允许一个进程访问该资源
        • 同时共享:允许一个时间段内由多个进程“同时”对他们访问
        • 同时访问(如可重入代码,磁盘文件)
        • 资源分配难以达到最优化
      • 虚拟(virtual)
        • 一个物理实体映射为若干个对应的逻辑实体——分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。
        • CPU--每个用户(进程)的"虚处理机"
        • 存储器--每个进程都占有的地址空间(指令+数据+堆栈)
        • 显示设备--多窗口或虚拟终端(virtual terminal)
      • 异步性(asynchronism)
        • 也称不确定性,指进程的执行顺序和执行时间的不确定性;
        • 进程的运行速度不可预知:分时系统中,多个进程并发执行,"时走时停",不可预知每个进程的运行推进快慢
        • 判据:无论快慢,应该结果相同--通过进程互斥和同步手段来保证
        • 难以重现系统在某个时刻的状态(包括重现运行中的错误)
        • 性能保证:实时系统与分时系统相似,但通过资源预留以保证性能
      • 并发与共享的关系

并发性指计算机系统中同时存在着多个运行着的程序。

共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。

    • 1.4.2 操作系统的服务

      • 服务类型
        • 程序执行和终止(包括分配和回收资源)
        • I/O操作
        • 文件系统操作
        • 通信:本机内,计算机之间(通常通信服务的使用者为进程,而不是笼统说"主机")
        • 配置管理:硬件、OS本身、其他软件
        • 差错检测
      • 服务提供方式:系统命令和系统调用

1.5 操作系统的功能(系统资源的管理者)

    • 1.5.1 处理机管理

完成处理机资源的分配调度等功能。处理机调度的单位可为进程线程

    • 进程控制:创建、撤销、挂起、改变运行优先级等--主动改变进程的状态
    • 进程同步协调并发进程之间的推进步骤,以协调资源共享;--交换信息能力弱
    • 进程通信:进程之间传送数据,以协调进程间的协作;--交换信息能力强,也可以用来协调进程之间的推进
    • 进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能;--未必是进程控制操作所引起(可能是时间片轮转、I/O操作)
      • 同一类型内的公平性、高效率(吞吐量大)、作业周转时间等
    • 1.5.2 存储管理

管理目标:提高利用率方便用户使用、提供足够的存储空间、方便进程并发运行。

    • 存储分配与回收
    • 存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从"垃圾"中窃取其他进程的信息;
    • 地址映射(变换):进程逻辑地址到内存物理地址的映射;
    • 内存扩充(覆盖、交换和虚拟存储):提高内存利用率扩大进程的内存空间
    • 1.5.3 设备管理

设备管理的目标是:方便的设备使用、提高CPU与I/O设备利用率

    • 设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。还需处理外设的IRQ。
    • 设备独立性(device independence):提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容(如FAX Modem作为Windows上的打印机设备)。
    • 设备分配与回收:在多用户间共享I/O设备资源
      • 虚拟设备(virtual device):设备由多个进程共享,每个进程如同独占。
    • 缓冲区管理匹配CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公用缓冲区)
    • 1.5.4 信息管理(文件管理)

解决软件资源存储共享保密保护

    • 文件存储空间管理:解决如何存放信息,以提高空间利用率读写性能
    • 目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名
    • 文件的读写管理和存取控制:解决信息安全问题。系统设口令"哪用户"、用户分类"哪用户组"、文件权限"针对用户或用户组的读写权"
    • 软件管理:软件的版本、相互依赖关系、安装拆除
    • 1.5.5 用户接口

目标:提供一个友好的用户访问操作系统的接口。操作系统向上提供两种接口:

    • 系统命令:供用户用于组织和控制自己的作业运行。命令行、菜单式或GUI"联机";命令脚本"脱机"
    • 编程接口:供用户程序和系统程序调用操作系统功能。系统调用和高级语言库函数;

1.6 常用的操作系统

    • 1.6.1 MS DOS
    • 1.6.2 MS Windows 3.x, Windows 95, Windows NT, Windows 2000
    • 1.6.3 UNIX

1.7 操作系统的运行机制与体系结构

    • 指令:一条高级语言的代码翻译过来可能会对应多条指令(CPU能识别、执行的最基本命令)
    • 1.7.1 运行机制

      • 指令
        • 特权指令:不允许用户程序使用(eg:内存清零指令)(需要在处理机状态下的核心态下执行
        • 非特权指令:(eg:普通运算指令)(需要在处理机状态下的核心态或用户态下执行)
      • 处理器状态(用程序状态寄存器PSW中的某个标志位来标识处理器处于什么状态)
        • 核心态:特权指令和非特权指令都可以执行
        • 用户态:此时CPU只能执行非特权指令
        • 用户态 --> 核心态的切换是通过“中断”唯一实现的。
      • 程序
        • 内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。(需要使用核心态的程序
        • 应用程序:为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态
    • 1.7.2  操作系统内核

      • 内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。
      • 实现操作系统内核功能的那些程序就是内核程序。
    • 1.7.3 操作系统的体系结构

    • 大内核:
    • 微内核:
    • 1.8 中断和异常

      • 1.8.1 中断机制的诞生

        • 实现多道程序并发执行
        • 本质:发生中断就意味着需要操作系统介入,开展管理工作
      • 1.8.2 中断的概念和作用

        • 1.  当中断发生时,CPU立即进入核心态
        • 2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
        • 3.对于不同的中 断信号,会进行不同的处理
        • 发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/o设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行
      • 1.8.3 中断的分类

        • 另一种分类方式:
      • 1.8.4 外中断的处理过程

    • 1.9 系统调用

      • 1.9.1 什么是系统调用,有何作用?

        • 操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成。
        • 应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作〈如存储分配、I/o操作、文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
      • 1.9.2 系统调用和库函数的区别

      • 1.9.3 系统调用背后的过程

        • 系统调用发生在用户态,对系统调用的处理发生在核心态
        • 执行陷入指令会产生内中断,使处理器从用户态进入核心态
    • 小结

      • OS地位、目的、作用和组成
      • OS发展:主要动力
      • OS分类:批处理、分时、实时、(通用)、多处理、网络和分布式、PC
      • OS的结构:模块--层次--Client-Server
      • OS的特征和服务
      • OS功能

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hdq1745/article/details/120238511

智能推荐

DataGridView列头checkbox-程序员宅基地

文章浏览阅读4.6k次。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Dat_datagridview列头

Python3 错误和异常_assertionerror怎么解决python-程序员宅基地

文章浏览阅读927次,点赞2次,收藏2次。Python3 错误和异常_assertionerror怎么解决python

Sharding-JDBC 1.5.0.M1 正式发布,全新的 SQL 解析引擎-程序员宅基地

文章浏览阅读109次。经过了长达几个月的紧张开发,Sharding-JDBC 1.5.0.M1终于正式发布。Sharding-JDBC 1.5.0.M1版本是一次里程碑式升级,工作量巨大,Sharding-JDBC截止到1.4.2之前所有的提交次数为385次,而1.5.0.M1一个版本的提交次数为517次。Sharding-JDBC从这个版本开始明确定位为“水平扩展以及in..._sharding-jdbc 1.5 解析器

golang检测网页编码_go 识别网页编码-程序员宅基地

文章浏览阅读876次。很简单直接上代码package mainimport ( "fmt" "io/ioutil" "net/http" "unicode/utf8")func main() { resp, _ := http.Get(`https://www.baidu.com/`) data, _ := ioutil.ReadAll(resp.Body) defer resp.Body.Close() fmt.Println(utf8.Valid(data)) // ture代表即utf8,否则你_go 识别网页编码

有什么好的自学Python书籍推荐?_学习pygame 推荐书籍-程序员宅基地

文章浏览阅读1.6k次,点赞5次,收藏31次。现在市场上的Python书很多,如何筛选到最适合你的Python书呢?1、按照京东Python书销量进行排行 ,看哪些排在最前面。2、按时最新上架的Python书排行,看看有哪些大牛的Python书上架了。3、关注Python月销售磅或者周销榜。比如小编给您筛选一下异步社区销量最好的Python书,看了一下,还有一些经典的没有筛选出来?怎么办?你可以点开任意一本Python书,按照京东推荐的书点开自己需要的那么,一定错不了。我告诉你的貌似只是异步社区的图书筛选,其实其他._学习pygame 推荐书籍

【最短路问题】|dijkstra最短路算法两种实现方式-程序员宅基地

文章浏览阅读66次。dijkstra 最短路算法Bellman-ford最短路算法spfa最短路算法floyd最短路算法。接下来我们讲详细的介绍一下这几个算法的区别,我们直接画图来看。在最短路问题中大致分成两种题型,首先是单源最短路, 最短路两种情况,单源最短路和多源最短路两种情况,首先我们来了解一下什么是单源最短路,什么是多源最短路?单源最短路 : 解决的是单个起点的最短路问题多源最短路: 解决的是多个起点的最短路问题我们接下来来详细的介绍一下这几个算法的实现的过程。

随便推点

基于matlab的一元线性回归原理_基于matlab栅格数据一元线性回归-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏27次。一元线性回归分析是在排除其他影响因素,分析某一个因素(自变量:X)是如何影响另外一个事物(因变量:Y)的过程,所进行的分析是比较理想化的。对于一元线性回归来说,可以看成Y的值是随着X的值变化,每一个实际的X都会有一个实际的Y值,我们叫Y实际,那么我们就是要求出一条直线,每一个实际的X都会有一个直线预测的Y值,我们叫做Y预测,回归线使得每个Y的实际值与预测值之差得平方和最小。_基于matlab栅格数据一元线性回归

vue 百度地图/天地图设置铺满屏幕100%,解决空隙问题_vue百度地图 100vw宽度不生效-程序员宅基地

文章浏览阅读491次。vue 百度地图/天地图设置铺满屏幕100%,解决空隙问题_vue百度地图 100vw宽度不生效

所有服务器用户使用同一个conda_怎么让服务器各个节点指向同一个anaconda-程序员宅基地

文章浏览阅读1.4k次。需求:现在有一台服务器,需要所有新建的用户都能在登陆后,直接使用指定的conda,不需要其他的任何配置。尝试:方法一:.(source) ~/anaconda3/bin/activate可行,无需管理员权限,但需每进入一次terminal都需输入一次。方法二:echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc source ~/.bashrc可行,无需管理员权限,但需每进入一次terminal都需输入一次。方法三:_怎么让服务器各个节点指向同一个anaconda

python连接数据库_python连接数据库代码-程序员宅基地

文章浏览阅读3.6k次。python连接不同的数据库_python连接数据库代码

opencascade 得到选择的面的序列号-程序员宅基地

文章浏览阅读1.5k次。opencascade 得到选择的面的序列号public: //头文件中 //选择模式,鼠标点击模型,选中对应的面 void selectMode(Handle(AIS_Shape) ); //获取鼠标选中的对象 void getShape(); //提取工件中所有的面 void pickUp(TopoDS_Shape ); struct Show_face { int adv_face_index; //面的索引号

ae视频特效制作 -- After Effects 2024_ae2024-程序员宅基地

文章浏览阅读423次,点赞10次,收藏8次。同时,软件还提供了丰富的教程和资源,帮助用户快速掌握使用技巧和创意发挥。首先,After Effects 2024引入了全新的动态工作流程,支持更高分辨率的视频和更快的渲染速度,让用户可以更轻松地处理大规模的视觉项目。同时,软件还加强了合成和渲染功能,提供了灵活的合成设置和多种输出格式,让用户可以制作出更加复杂的视觉效果。其次,After Effects 2024还增加了新的颜色校正工具和智能背景移除功能,让用户可以更轻松地调整颜色、亮度和对比度等参数,突出主题元素,提高视觉效果的质量。_ae2024

推荐文章

热门文章

相关标签