操作系统开发

计算机常识

走远了吗. 提交于 2020-04-07 05:42:24
计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。 计算机发明者 约翰·冯·诺依曼 。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引发了深刻的社会变革,计算机已遍及一般学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。 发展历史 计算工具的演化经历了由简单到复杂、从低级到高级的不同阶段,例 ENIAC计算机 如从“结绳记事”中的绳结到算筹、算盘计算尺、机械计算机等。它们在不同的历史时期发挥了各自的历史作用,同时也启发了电子计算机的研制和设计思路。 1889年,美国科学家 赫尔曼·何乐礼 研制出以电力为基础的电动制表机,用以储存计算资料。 1930年,美国科学家 范内瓦·布什 造出世界上首台模拟电子计算机。 1946年2月14日,由美国军方定制的世界上第一台电子计算机“ 电子数字积分计算机 ”(ENIAC Electronic

从零开始入门 K8s | Kata Containers 创始人带你入门安全容器技术

安稳与你 提交于 2020-04-06 01:51:19
作者 | 王旭 蚂蚁金服资深技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 28 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词**“入门”**,即可下载从零入门 K8s 系列文章 PPT。 一、缘起:安全容器的命名 Phil Karlton 有一句名言:“计算机科学界只有两个真正的难题——缓存失效和命名。” 对我们容器圈而言,我相信「命名」绝对配得上这句话。这毫无疑问是一件让老开发者沉默、让新人落泪的事情。仅就系统软件而言,我们当今比较通行地称为**「Linux 容器技术」**这个概念,它曾经用过的名字还有 Jail, Zone, Virtual Server, Sandbox 等。同样,在早期虚拟化的技术栈里也把一类虚拟机叫做容器,毕竟这个词本身就指代那些用来包容、封装和隔离的器物。它实在太过常见了,以至于以严谨著称的 Wikipedia,它的词条叫做「OS-Level Virtualization」(系统级虚拟化) ,从而回避了「什么是容器」这个问题。 在 2013 年,Docker 问世之后,容器这个概念伴随着不可变基础设施、云原生这一系列概念在随后的几年间以摧枯拉朽之势颠覆了基于“软件包+配置”这种细粒度组合的应用部署,用简单的声明式策略和不可变的容器就清爽地定义了软件栈。应用怎么部署,在这儿似乎有点离题了

计算机基础

亡梦爱人 提交于 2020-04-06 00:32:10
一、为何要学习计算机基础?       Python是一门编程语言,即通俗一点说就是语言。     程序用编程语言来写程序,最终开发的结果就是一个软件。 操作系统 是出现在硬件之上的,是用来 控制硬件的。 所以,我们开发时只需要 调用操作系统为我们提供的简单的接口 就可以了。    如上图所示,我把计算机的系统分为了上面三大块。 硬件,操作系统,应用程序 。 二、计算机硬件介绍 1. 硬件 的目的:为了运行软件给它的一些指令。我们可以优先从硬件中提取出这三个主要的东西,分别是: CPU,内存,硬盘 在计算机中,用来计算的是什么呢?当然是 CPU 了。多数CPU都有两种模式,即内核态与用户态。这里的即内核态与用户态将会在下面的内容中讲到。     CPU是人的大脑,负责运算        内存是人的记忆,负责临时存储        硬盘是人的笔记本,负责永久存储        输入设备是人的耳朵或眼睛,负责接受外部的信息传给CPU        以上所有的设备都通过总线连接,总线相当于人的神经 总线示意图 三、处理器(寄存器及内核态与用户态切换)     1.计算机的大脑是CPU,它从内存中取指令-▶解码-▶执行,然后在取指令,解码,执行,周而复始,直至整个程序被执行完成。    2. 寄存器是一个存储设备, 最快的一种存储设备 就是寄存器。 3.寄存器的分类      

计算机基础-----计算机硬件

血红的双手。 提交于 2020-04-05 20:40:26
应用程序-》操作系统-》硬件 语言是用来沟通的介质,是用来交流的。编程语言也一样,只不过编程语言是用来跟计算机交流的,是程序员跟计算机之间交流的媒介。程序员要想让计算机工作,必须知道计算机能干什么,怎么干的,这也就是我们必须学习计算机基础的原因。 程序员用编程语言写程序,最终开发出的结果就是一个软件,而软件必须运行在操作系统上才可以。 编程语言只不过是我们给操作系统一些指令而已,但真正与计算机硬件交流的并不是我们所说的编程语言,而是操作系统在给计算机硬件交流。操作系统的出现就是运行于硬件之上,来控制硬件的,是管理计算机硬件资源,控制其他程序运行并为用户提供操作界面的系统软件的集合,操作系统也是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。我们也可以直接跟计算机硬件交流,但是太麻烦了,耗时耗力,严重影响了开发的效率。操作系统的出现就是运行于硬件之上,来控制硬件的,我们开发时,只需要调用操作系统为我们提供的简单而优雅的接口就可以了。 cpu-》内存-》磁盘 cpu一个大脑,计算机的大脑,强大而又飘渺。计算机的大脑就是CPU,它从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。 内存,一个计算机的记忆,用来临时存储的。内存就是处在cpu与硬盘之间

第29 章 : 安全容器技术

大兔子大兔子 提交于 2020-04-05 16:53:04
安全容器技术 本文将主要分享以下五方面的内容: 缘起:安全容器的命名 间接层:安全容器的精髓 Kata Containers:云原生化的虚拟化 gVisor:进程级虚拟化 安全容器:不止于安全 缘起:安全容器的命名 Phil Karlton 有一句名言:“计算机科学界只有两个真正的难题——缓存失效和命名。” 对我们容器圈而言,我相信“命名”绝对配得上这句话。这毫无疑问是一件让老开发者沉默、让新人落泪的事情。仅就系统软件而言,我们当今比较通行地称为“Linux 容器技术”这个概念,它曾经用过的名字还有 Jail、Zone、Virtual Server、Sandbox 等。同样,在早期虚拟化的技术栈里也把一类虚拟机叫做容器,毕竟这个词本身就指代那些用来包容、封装和隔离的器物。它实在太过常见了,以至于以严谨著称的 Wikipedia,它的词条叫做“OS-Level Virtualization”(系统级虚拟化),从而回避了“什么是容器”这个问题。 在 2013 年,Docker 问世之后,容器这个概念伴随着不可变基础设施、云原生这一系列概念在随后的几年间以摧古拉朽之势颠覆了基于“软件包 + 配置”这种细粒度组合的应用部署,用简单的声明式策略和不可变的容器就清爽地定义了软件栈。应用怎么部署,在这儿似乎有点离题了,我在这里想要强调的是: “云原生语境下的容器,实质是“应用容器”—

智能座舱虚拟机系统

狂风中的少年 提交于 2020-04-04 07:36:46
智能座舱虚拟机系统 1. 功能模块介绍 智能座舱平台(Smart Cockpit Platform) 智能座舱整体解决方案,方案融合智能车机、TBOX、智能天线、HUD、液晶数字仪表、车联网、以太网等智能网联终端和生态,为车主提供更智能、更安全的汽车生活 。 智能车机(Intelligent Car Machine) 一体机、IVI、DA三种中控车机形态可选硬件规划i.MX8、i.MX6、AC8215、Accordo5高、中、低端全系平台产品。 软件平台布局Android、Linux、QNX三大系统,产品定位各种车型。 TBOX 从长安Incall 1.0远特为长安配套2G TBOX开始,远特以低端、中端、高端解决方案布局TBOX通信终端, 为车企提供满足不同成本、性能需求的产品。 智能天线(Intelligent Antenna) 采用前沿的车载以太网硬件方案,结合AVB软件通讯协议,集成丰富无线功能,简化其它电子元器件的开发成本,降低整车系统成本。可与车厂进行联合开发,适配不同方案的需求,满足高中低端的需求,应用前景广。 数字仪表(Digital Instrument) 采用车规级双核Cortex-A9,搭载高度定制化的QNX操作系统,针对汽车仪表特性裁剪内核,高于业内普遍标准的开机速度。 同时,采用专业图形化工具KANZI进行界面设计,具备强大的图像处理和显示效果

转:Unix传奇(上篇)

别等时光非礼了梦想. 提交于 2020-04-02 05:55:12
参考自: http://coolshell.cn/articles/2322.html 了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道我们明天该如何去规划,该如何去走。在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今。要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史。 Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看《 Unix 40年:Unix年鉴 》、《 Unix 40年:昨天,今天和明天 》)。在技术更新如此迅速的计算机世界的今天,Unix始终保持它那神圣的光环,它那曲折和令人叹息的历史,以及由它引发的思想变革,对当今计算机文化造成的深远影响,这40年所产生的人和事,让它成为了一个传奇,不能不让人为之惊叹。 这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史。Unix的传奇历史是整个计算机世界文化最具代表性的,它对整个计算机世界文化的影响也是最巨大,最深远的。他给人带来的不单单的对过去的回味,更为我们带来了计算机世界的新思潮。 了解这段的历史的人,才能体会计算机世界变迁过程中的是是非非,才能了解计算机世界中的文化,从而才能参与到整个计算机革命的大潮中。希望这段历史

物联网的操作系统

喜夏-厌秋 提交于 2020-04-02 05:51:57
一 mbed:由ARM推出,只适合ARM架构,单线程。 mbed OS 5在不同的硬件开发板上,不同的开发主机(Windows,Linux,MAC)上,以及不同的开发IDE环境里都有一致的工作流程。 集成了实时操作系统CMSIS-RTOS RTX的内核 ,使得mbed OS可以 支持确定性、多线程实时 程序。mbed OS 5支持开发者使用以下 三种开发方式 : 1、登陆ARM的mbed 网页在线开发 ; 2、将mbed CLI(命令行界面)工具下载到自己的电脑上在线下开发; 3、使用第三方的开发工具,目前mbed OS 5支持KEIL、eclipse、IAR三种第三方IDE 目前mbed OS 5支持 BLE、Wi-Fi、NFC、Tread、RFID、LoRa、6LoWPAN等多种无线通信协议,未来还会支持802.15.4 Mesh和NB-IoT 。 mbed cloud:保证芯片到云端的安全数据传输,简化用户对设备的管理。比如用户需要将终端设备做系统或 固件升级 ,只需登录mbed cloud,将系统文件或固件程序上传,mbed cloud会完成与终端设备的数据通信传输工作。是一种设备云,它不会存储终端设备的运行数据和采集数据,用户仍然需要选择第三方的基础数据云(如阿里云、亚马逊AWS等)来做数据处理和数据开发。https://blog.csdn.net

winCE下Unicode编码

吃可爱长大的小学妹 提交于 2020-04-01 04:47:32
Unicode :宽字节字符集 1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数? 可以调用Microsoft Visual C++的运行期库包含函数_mbslen来操作多字节(既包括单字节也包括双字节)字符串。 调用strlen函数,无法真正了解字符串中究竟有多少字符,它只能告诉你到达结尾的0之前有多少个字节。 2. 如何对DBCS(双字节字符集)字符串进行操作? 函数 描述 PTSTR CharNext ( LPCTSTR ); 返回字符串中下一个字符的地址 PTSTR CharPrev ( LPCTSTR, LPCTSTR ); 返回字符串中上一个字符的地址 BOOL IsDBCSLeadByte( BYTE ); 如果该字节是DBCS字符的第一个字节,则返回非0值 3. 为什么要使用Unicode? (1) 可以很容易地在不同语言之间进行数据交换。 (2) 使你能够分配支持所有语言的单个二进制.exe文件或DLL文件。 (3) 提高应用程序的运行效率。 Windows 2000是使用Unicode从头进行开发的,如果调用任何一个Windows函数并给它传递一个ANSI字符串,那么系统首先要将字符串转换成 Unicode,然后将Unicode字符串传递给操作系统。如果希望函数返回ANSI字符串,系统就会首先将Unicode字符串转换成ANSI字符串

操作系统的简介及发展历程

青春壹個敷衍的年華 提交于 2020-03-31 01:59:43
一、为何要有操作系统? 操作系统本质上是一个应用程序,它的目的是控制硬件,服务软件。现代计算机是一个复杂的系统,如果没有操作系统,程序员开发软件就必 须了解计算机系统的每一个方面,再编写相应的软件控制这些硬件,最后再编写自己的程序。这无疑降低了程序员的开发效率,并且由于现在计算 机是一个复杂的系统,开发人员要完全掌握计算机的每一方面是很困难的,所以操作系统就应运而生。操作系统在硬件和软件之间搭起一座沟通的 桥梁,将复杂的硬件设备虚拟化、简单化,极大地增强了程序员的开发效率。 二 、操作系统的位置 操作系统位于硬件与软件之间,由内核态和用户态两部分组成,它在硬件与软件之间架起了一道桥梁,隐藏了大量I/O设备的接口,给用户 提供一个简洁、实用的系统调用接口。它通过一些抽象化的概念将一些原本复杂的输入输出设备简单化。 三、操作系统的功能 1、隐藏了大量的硬件调用接口,为程序员提供更好的调用硬件资源的方法,通过抽象化的概念将一些原本复杂的输入输出设备简单化。 2、将应用程序对硬件资源的竞态请求有序化,即将应用程序对硬件资源的请求由无序变为有序。 四、操作系统的发展 最早的计算机系统是没有操作系统的。操作系统的概念是逐步发展起来的。 第一代计算机由真空管和穿孔卡片组成。 特点:没有操作系统,所以软件直接控制硬件。 优点:程序员可以随时调节程序。 缺点:浪费计算机资源。 第二代计算机 特点