热门标签 | 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

推荐阅读
  • 本文提供了一种有效的方法来解决当Android Studio因电脑意外重启而导致的所有import语句出现错误的问题。通过清除缓存和重建项目结构,可以快速恢复开发环境。 ... [详细]
  • 1、编写一个Java程序在屏幕上输出“你好!”。programmenameHelloworld.javapublicclassHelloworld{publicst ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • Zabbix自定义监控与邮件告警配置实践
    本文详细介绍了如何在Zabbix中添加自定义监控项目,配置邮件告警功能,并解决测试告警时遇到的邮件不发送问题。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 本文探讨了Java中线程的多种终止方式及其状态转换,提供了关于如何安全有效地终止线程的指导。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
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社区 版权所有