热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

硬盘的工作原理与操作系统以及计算机语言的分类

硬盘的工作原理机械硬盘机械手臂用来读写数据磁道存储数据扇区一个扇区,规定了容量为512kb。电脑分C盘与D盘为了减少IO操作,减少数据寻找的时间,C盘的文件不会在D盘里寻找

硬盘的工作原理

机械硬盘

机械手臂

用来读写数据

磁道

存储数据

扇区

一个扇区,规定了容量为512kb。电脑分C盘与D盘为了减少IO操作,减少数据寻找的时间,C盘的文件不会在D盘里寻找。

平均寻道时间

工业限制,平均寻道时间为5ms

平均延迟时间

最差的情况下,磁道转动一圈才找到数据,最快直接找到,最慢8ms最快0ms,平均4ms。

寻找数据的时间

寻找数据的时间=平均寻道时间+平均延迟时间=5+4=9ms

缺点

找寻数据的时间慢,受工业限制平均寻道时间及平均延迟时间

固态硬盘

解决机械硬盘寻找数据慢的缺点

操作系统

开机的时候会发现少掉一部分内存

文件是什么

文件是某一个东西提供的虚拟单位,文件写入“我很帅”,某个东西会将它转换为0和1,然后写入硬盘

程序的启动

我们用鼠标双击qq,这个东西将指令转换为0和1组成的指令,将0和1组成的指令发送给CPU……

这个东西

这个东西就是CPU

为什么要有操作系统

操作系统帮助我们控制硬件

计算机的三大组成
  1. 硬件
  2. 操作系统
  3. 应用程序

早期我们写一个应用程序,必须得自己写一个操作系统,

现在,微软,苹果等厂商会写好一个操作系统。

最底层:硬件

存储数据,发送命令

中间层:操作系统

控制底层硬件,接收应用程序与用户的指令

最上层:应用程序

帮人干活,实现某个功能

编程语言的分类

编程语言:人与计算机之间交流的介质

机器语言

计算机只能识别0和1,为了与计算机交流,我们要学会0和1

优点:执行效率非常快

缺点:普通人根本写不了这种代码,开发效率非常低

汇编语言

也是直接与计算机沟通,汇编语言将一串二进制码转变为了英文单词

优点(与机器语言比较):开发效率高

缺点(与机器语言比较):执行效率慢

高级语言

类似谷歌翻译(编译型语言)

把写完后的代码一次性写完,并且可以保留结果,下次可以直接使用。

优点(汇编语言):开发效率高

缺点(汇编语言):执行效率慢(需要翻译过程)

类似同声传译(解释型语言)

我说一句话,翻译就翻译一句

print ('wohenshuai')
#翻译
if i == 'handsome':
#翻译
   print ('handsome')
#翻译

优点(编译型语言):开发效率高

缺点(编译型语言):执行效率低

瓶颈效应

如果你开发一个软件

你开发一个软件,就是需要实现某个功能,比如视频软件需要联网。但是由于受网速的限制,下载两个软件之间的延迟为1ms。高级语言延迟为0.1ms,机器语言执行效率0.000000001ms,使用高级语言。

你开发一个操作系统,假设使用汇编语言需要10年,使用高级需要8年。操作系统使用20年。操作系统更在乎用户的体验,用户体验就是速度快。而你打开一个应用程序,你是不是无法直接操控硬件,需要通过操作系统,操作系统控制硬件越快越好。使用机器语言或者汇编语言。

你以后要干的是什么,应用程序,你写的应用程序是不是都需要联网,只要联网就会受到网速的限制,开发效率越快的语言越好。使用解释型的,python。

python,简单,他有大量成型库,也是为什么python能够做少儿编程/加入高考的。使用的人会越来越多,库也越来越多。

补充:源码就是create_file() 的实现的源代码

import 导入
import os(控制操作系统的)
os.create_file() 

而Java则要写很多行程序来控制,例如下

uhdxiosajdpfk
akucfuajd
fiafjioafj
fjafmakf

推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
author-avatar
手机用户2502926887
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有