操作系统开发

操作系统的发展史

耗尽温柔 提交于 2019-11-29 12:00:40
操作系统的发展史 一、手工操作———穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。 手工操作方式两个特点: 用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。 CPU 等待手工操作。CPU的利用不充分。 20世纪50年代后期,出现 人机矛盾 。:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成 批处理 。 二、批处理——磁带存储 2.1 联机批处理系统 [ ]( http://ww 主机与输入机之间增加一个存储设备——磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。

NISP-操作系统概述

对着背影说爱祢 提交于 2019-11-29 11:57:44
文章目录 NISP-操作系统概述 1.概述 2.操作系统的位置 3.作用 4.操作系统的特征 5.操作系统的作用 (1).管理系统的各种资源 CPU管理(进程管理): 存储管理 设备管理 文件管理 网络与通信管理 (2).为用户提供良好界面 作业控制级接口 程序级接口 6.操作系统分类 批处理操作系统 分时操作系统 实时操作系统 桌面操作系统 服务器操作系统 嵌入式操作系统 7.windows 8.Linux 9.Mac OS 10.Android 11.ios 12.操作系统和程序的关系 NISP-操作系统概述 1.概述 1946年第一台计算机 20世纪70年代出现计算机操作系统 是一组控制和管理计算机资源(软硬件),合理地对各类作业进行调度以及方便用户的程序集合 直接运行在裸机上的最基本的系统软件 其他任何软件都必须在操作系统的支持下运行 可以说操作系统是连接用户和计算机硬件的接口 2.操作系统的位置 用户 应用软件 操作系统 硬件 3.作用 面向系统资源——提高资源利用率 面向用户——提供方便易用的用户界面 4.操作系统的特征 并发 共享(分为互式共享和同时访问共享) 虚拟(分时使用处理器,虚拟Cpu,虚拟内存) 异步 5.操作系统的作用 (1).管理系统的各种资源 CPU管理(进程管理): 创建和撤销进程,协调运行进程,按照一定的算法把处理器分配给进程。 进程控制 进程同步

周总结 + for 循环 + 内置方法(day06整理)

回眸只為那壹抹淺笑 提交于 2019-11-29 11:37:42
目录 周总结 一 计算机基础之编程 (一) 什么是编程语言 (二) 什么是编程 (三) 为什么编程 二 计算机五大组成 (一) CPU (1) 运算器 (2) 控制器 (二) 存储器 (1) 主存 (2) 内存 (三) 输入设备 (四) 输出设备 (五) 32位和64位 (六) 多核CPU (七) 机械硬盘工作原理 (1) 机械手臂 (2) 磁道 (3) 扇区 (4) 平均寻道时间 (5) 平均延迟时间 (6) 平均寻找数据时间 三 计算机操作系统 (一) 什么是文件 (二) 操作系统有什么用 (三) 操作系统的启动 (四) 应用程序的启动 四 编程语言的分类 (一) 机器语言 (二) 汇编语言 (三) 高级语言 (1)编译型语言 (2) 解释性语言 五 网络瓶颈效应 六 python执行程序的两种方式 (一) 交互式 (二) 命令行式 七 变量 (一) 什么是变量 (二) 变量的三大组成 (三) 变量名的命名规范 (四) 变量名的两种命名方式 八 常量 九 python变量内存管理 (一) 引用计数 (二) 垃圾回收机制 (三) 小整数池 十 变量的三种打印方式 十一 花式赋值 (一) 链式赋值 (二) 交叉赋值 十二 布尔类型 十三 解压缩 十四 python与用户交互 十五 格式化输出的三种方式 (二) % 占位符 (三) format格式化 十六 基本运算符 (一)

嵌入式系统软件

≡放荡痞女 提交于 2019-11-29 10:18:23
一.嵌入式操作系统 1.嵌入式操作系统的发展 (1)Tiny OS操作系统 1)开源深度 轻量级操作系统 2)专为嵌入式无线传感网络设计,功耗较低,特别适合传感器这种受内存、功耗限制的设备 3)技术特点:轻 线程 、主动消息、事件驱动、组件化编程 (2)Android 操作系统 1)以Linux为基础半开放源代码的操作系统,主要用于移动便携设备 2)使用不同的软件开发包,则使用的编程语言也不同 (3)QNX操作系统 1)分布式实时操作系统,符合POSIX基本标准和实时标准,使其应用可以方便的移植 2)微内核提供的4种服务:进程调度、进程通信、底层网络通信、中断处理 (4)开源操作系统 1)免费获得,成本较低 2)获得技术支持困难、配套开发工作量大、系统可靠性低、完工后维护困难 3)典型例子:RTLinux、μCLinux、μC/OS-II 2.实时系统 (1)多数嵌入式系统有时间约束性,但并非嵌入式系统都是实时系统 (2)任务时限有两种:截止时间和任务执行预设时间 (3)可预测性:实时系统对时间约束严格,它是指实时操作系统能对外部事件的响应时间和实时任务的执行事件进行判断 3.实时操作系统 (1)七个特征 1)异步I/O和中断处理能力 2)任务切换时间和中段延迟时间确定 3)优先级中断和调度 4)抢占式调度 5)内存锁定 6)连续文件 7)同步 (2)按照对外部事件的响应时间快慢

9.12小结

北城余情 提交于 2019-11-29 10:07:51
目录 计算机基础之编程 什么是编程语言 什么是编程 为什么要编程 计算机五大组成 CPU 控制器(一) 运算器(二) 存储器(三) 主存(内存) 外存(硬盘) 输入设备(四) 输出设备(五) 32位和64位 多核CPU 机械硬盘工作原理 机械手臂 磁道 扇区 平均寻道时间 平均延迟时间 平均寻找数据时间 计算机操作系统 什么是文件 操作系统有什么用 操作系统的启动 应用程序的启动 编程语言的分类 机器语言 汇编语言 高级语言 编译型语言 解释型语言 网络瓶颈效应 python执行程序的两种方式 交互式 命令行式 变量 什么是变量 变量的三大组成 变量名的命名规范 变量名的两种形式 常量 python变量内存管理 引用计数 垃圾回收机制 小整数池 变量的三种打印方式 花式赋值 链式赋值 交叉赋值 布尔类型 解压缩 python与用户交互 格式化输出的三种方式 f-string格式化 %占位符 format格式化 基本运算符 算术运算符 逻辑运算符 比较运算符 身份运算符 成员运算符 赋值运算符 运算符的优先级 流程控制之if判断 单分支结构 双分支结构 多分支结构 流程控制之while循环 while + break while + continue while + else tag控制while退出 流程控制之for循环 for + break for + continue for

小结1

蹲街弑〆低调 提交于 2019-11-29 09:51:40
计算机基础之编程 什么是编程语言 编程语言是人与计算机交流的介质 什么是编程 通过编程语言编写一大堆文件 为什么要编程 奴役计算机,替代劳动力 计算机五大组成 CPU 控制器 控制硬件 运算器 算术运算和逻辑运算 内存 优点: 速度快 缺点: 断掉即消失,存储容量小 外存 优点:容量大,永久存储 缺点:速度慢 输入设备 输入信息,键盘/鼠标/u盘 输出设备 输出信息,显示屏/打印机/u盘 IO设备 u盘是io设备,既能输入信息,又可输出信息 应用程序的启动流程 双击qq(找到qq的路径) 操作系统发送指令给CPU CPU发送指令给内存 内存从外存中取出qq的代码 运行qq 32位和64位 电脑一次读取32/64个字节,64位的电脑能装32的软件,32的电脑不能装64位的软件,向下兼容性 多核CPU 3核CPU人类的三个头,同一时刻完成多件事情 机械硬盘工作原理 机械手臂:读取数据 磁道:存储数据 扇区:划分磁道 平均寻道时间:5ms 平均延迟时间:4.15ms 平均寻找数据时间:9.15ms 固态硬盘(了解) 基于电和算法实现的数据存储,不需要平均寻道时间,寻找数据时间是光速 计算机操作系统 什么是文件 操作系统提供的虚拟单位,用来存储数据 什么是应用程序 一堆文件 操作系统有什么用 把对硬件的复杂指令简单化 计算机的三大组成 硬件: 操作系统, 内存和外存的直接交互 操作系统

第一次作业

半腔热情 提交于 2019-11-29 08:33:51
一、计算机专业术语 软件=程序+软件工程 程序=数据结构+算法 静态数据:软件的图标、提示信息 动态数据:程序生成的随机数字、程序通过网络下载的数据、用户的文字或语音输入等 源代码管理:配置管理 用户满意度:用户在使用时发现了软件的很多问题,影响了用户使用软件的效率 可靠性:某个软件经常会崩溃 ,某个操作系统会时不时死机。 软件流程的质量:软件团队和开发流程的问题太多,导致团队成员无法互相协作,按时交付软件 软件工程:软件需求分析、软件设计、软件构建、软件测试、软件维护 可维护性:某个软件太难维护了,按下葫芦起了瓢,修复了一个问题,另一个问题又出来了。 Bug:软件的行为和用户的期望值不一样。 软件开发过程中的难题:复杂性、不可见性、易变性、服从性、非连续性 系统软件:操作系统、设备驱动程序、工具软件等 应用软件:用户使用它们来完成工作,从管理核电厂到写文章,或者是通讯、游戏等 恶意软件:软件病毒 软件企业:软件+商业模式 国际化、本地化:处理不同语言、不同地区的用户对界面和功能的不同需求 软件维护:服务运营 人工智能:模式识别、机器学习、数据挖掘 计算机图形学、计算机视觉、多媒体 数据库和大规模数据处理 二、五个问题 1、怎样才算一个好的单元测试? 2、谁来做代码复审?为什么非得要进行代码复审? 3、团队模式和团队的开发模式有什么关系? 4、不同的团队模式如何影响团队绩效的评估?

知识点—python基础

痞子三分冷 提交于 2019-11-29 08:29:21
目录 什么是编程 详述计算机组成 简述机械硬盘工作原理 操作系统有什么用 计算机由哪三大部分组成 简述操作系统和应用程序的启动流程 应用程序的启动 编程语言的分类有哪些?评估各个分类的优缺点 简述执行python程序的两种方式以及他们的优缺点 正文 什么是编程 用计算机能够识别的语言,写一堆文件 详述计算机的组成 控制器 运算器 数学运算 逻辑运算 存储器 内存 外存 输入设备 输出设备 简述机械硬盘工作原理 寻道时间:硬盘寻道即读取数据时,读写磁头沿径向移动,移到要读取的扇区所在磁道的上方花费的时间。因读写磁头的起始位置与目标位置之间的距离不同,寻道时间也不同。 旋转延迟时间:磁头到达指定磁道后,然后通过盘片的旋转,使得要读取的扇区转到读写磁头的下方所花费的时间。 平均寻道时间:5ms 平均延迟时间:4.15ms 平均寻找数据时间:9.15ms 操作系统有什么用 它把对硬件的复杂操作,封装成一个一个简单的接口,供人们使用 计算机由哪三大部分组成 软件 操作系统 硬件 简述操作系统和应用程序的启动流程 计算机通电 临时操作系统启动真正的操作系统 关闭临时操作系统 应用程序的启动 发送启动指令给操作系统,告诉操作系统程序的硬盘地址 操作系统操作CPU,发送指令给内存 内存发送指令给硬盘 硬盘读取应用程序的代码给内存,程序启动 编程语言的分类有哪些?评估各个分类的优缺点 机器语言 优点

Linux起源

♀尐吖头ヾ 提交于 2019-11-29 06:45:57
  Linux是一种自由和开放源码的类UNIX 操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,在加上应用程序之后,成为 Linux 操作系统。Linux 也是自由软件和开放源代码软件发展中最著名的例子。只要遵循 GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。简单来说就是一个像UNIX的开源操作系统。   Multics项目   为什么像呢?这不得不从UNIX说起,UNIX也是操作系统,它是这么来的呢,一切源自Multics这个项目,早期计算机架构很难使用除了cup处理速度慢之外还有操作接口也很难用,因为那时候的输入设备只有读卡机,输出设备只有打印机,用户也无法与操作系统互动。程序有地方写错了调试起来必须重新打卡,特别麻烦并且使用者很多机器很少,为了解决这种现状美国麻省理工学院在1961年提出 相容分时系统 Compatible Time-Sharing System 缩写为 CTSS,这个操作系统可以让多个用户通过终端软件来连接大型计算机,多人同时利用计算机资源进行运算,一切好像都好起来了,有了CTSS 为啥还要开发Multics项目呢,其实CTSS操作系统最对只能带动30来个终端,为了让更多的人利用计算机资源进行运算,1964年贝尔实验室

计算机基础知识

独自空忆成欢 提交于 2019-11-29 00:57:54
一、为何要学习计算机基础? 好多人觉得自己有点基础就都想着直接敲代码,觉得基础知识很容易,很简单,就不怎么用心去学。然而,我觉得基础知识很重要。就像盖一栋楼房一样,你先要打好地基,再去盖房。       Python是一门编程语言,即通俗一点说就是语言。    我们都知道世界上有很多种语言,比如:汉语,英语,阿拉伯语等等众多的语言。要想用这些语言去和人沟通,如果你想和英国人说话,你必须得会英语吧。而我们的计算机也有它自己的语言,你要想让计算机帮助我们做事情,你就需要和它沟通吧。那你就得懂得计算机语言吧,也就是编程。当然计算机也有很多语言,比如:C,Java,PHP,Python,C#等。所以我们就先从学习基础知识开始。也有人说学习基础理论知识很枯燥,但是,那还是得学。你要把它当成自己的兴趣,一点一点的去投入它,相信你会是很棒的。    程序用编程语言来写程序,最终开发的结果就是一个软件。就像大家都知道的QQ,腾讯视频,酷狗音乐等一系列软件。这些软件要想运行必须得有系统控制它吧。当然,有人会问:为什么要用操作系统呢?当然,很久以前的那些程序员确实是在没有操作环境下,编程语言是操作硬件来编写的。你可能觉得没问题,但是其实问题很严重。如果一直像以前那样会严重影响效率的。操作系统是出现在硬件之上的,是用来控制硬件的。所以,我们开发时只需要调用操作系统为我们提供的简单的接口就可以了。