操作系统开发

【小刘的linux学习笔记 】——01认识操作系统

不羁的心 提交于 2019-12-07 12:02:25
1.操作系统的地位 计算机系统由 硬件 和 软件 两部分组成。通常把未配置软件的计算机称为裸机。直接使用裸机不仅不方便,而且将严重降低工作效率和机器的利用率。 操作系统(OS,Operation System) 是为了填补人与机器之间的鸿沟,即为了 建立用户与计算机之间的接口 ,而为裸机配置的一种系统软件。由下图可以看出, 操作系统是裸机上的第一层软件,是对硬件系统功能的首次扩充。 配置操作系统的目标: 1.提供一个计算机用户与计算机硬件系统之间的接口,使计算机系统 更易于使用 。 2.有效地控制和管理计算机系统中的各种硬件和软件资源,使之得到 更有效的利用 。 3.合理地组织计算机系统的工作流程,以 改善系统性能 (如响应时间、系统吞吐量等)。 4.遵循国际标准,设计和构筑开放式的环境,支持 可扩展 的体系结构,支持应用程序的可移植性和可互操作性。 从不同角度看待操作系统的特性 1. 用户观点——方便性 :提供 良好的、一致的用户接口 ,弥补硬件系统的类型和数量上的差别。 2. 系统管理人员观点——有效性 : 管理和分配 硬件与软件 资源 ,合理地 组织 计算机的工作 流程 。 3. 可扩充性 :指在为操作系统 增加新特性 时能够很容易,增强功能所引起的对系统的其他部分的 改动要尽可能地少 。即 可扩充性使操作系统以尽可能少的改动得到性能上的增强 。 4. 可移植性

云计算生产实习----实习日志

不打扰是莪最后的温柔 提交于 2019-12-07 04:56:01
前言 第一天实习日志如下 第二天实习日志如下 第三天实习日志如下 第四天实习日志如下 第五天实习日志如下 第六天实习日志如下 第七天实习日志如下 第八天实习日志如下 第九天实习日志如下 第十天实习日志如下 第十一天实习日志如下 第十二天实习日志如下 0.前言 本来打算每天都写一个博客作为实习的日志,结果发现,因为自己的笔记本的性能问题,有些实验同学的笔记本可以完成,但是自己的笔记本就无法的完成。幸好无法完成的实验只是整个环节中了解的内容。 所以,下面我把自己的实习日志贴出来,也是比较完善的。 1. 第一天实习日志如下 项目名称: 实验环境软件的安装与调试 项目功能简介: 安装虚拟机软件VMware与实验镜像CAS-CVM云虚拟化管理平台并进行连接性调试 本人负责模块: 首先在计算机中安装VMware虚拟机软件,在VMware中新建一个无操作系统的虚拟机;然后在虚拟机中安装CAS-CVM云虚拟化管理平台镜像,配置其参数包括IP地址、网关、需要安装的系统、磁盘、设置最高权限的密码等;最后更改虚拟机的虚拟网卡IP地址及网关地址,使用计算机的cmd软件进行连接调试,使得计算机和虚拟机可以ping通。 心得: 在安装VMware软件的过程中,需要使用管理员权限进行安装,因为需要添加虚拟的网络适配器供虚拟机使用,所以如果不使用管理员权限进行安装,那么会发生虚拟网络适配器安装失败的错误

VMware Workstation Pro14虚拟机破解版(附注册机+序列号+安装教程) 32/64位

↘锁芯ラ 提交于 2019-12-07 03:56:55
VMware Workstation Pro 14 简称vmware14,该版本支持最新的平台和操作系统功能特性,添加了对Windows 10、基于客户机的VBS、UEFI 安全启动、Ubuntu 17.04和Fedora 26的支持,并且许多改进的网络连接功能。凭借超过15年的虚拟化领先地位、数百万的满意客户以及作为50多项大奖的获奖者,VMware系列一直提供业界最稳定且最安全的桌面虚拟化平台,需要的朋友快来下载使用吧。 VMware14介绍: VMware14已经推出,根据版本号名为VMware Workstation Pro 14是一款强大好用的桌面虚拟机软件,该软件的特点在于可以在不切换操作系统或者安装双系统的前提下进行其它操作系统的测试操作,具有安装配置简单,兼容性广的特点,兼容win7、win8、win10等win10系列的操作系统,且支持Linux、Unix等操作系统的安装测试,新版本增强了对 Windows 10 创意者的支持以及Ubuntu 17.04 和 Fedora 26 的支持。 VMware14功能特色: 一、Workstation让您腾出时间在自己的领域创新 1、强大的桌面虚拟化 Workstation 产品允许用户将 Linux、Windows等多个操作系统作为虚拟机在单台 PC 上运行。用户可以在虚拟机上重现服务器、桌面和平板电脑环境

软件的内涵、操作系统、软工定义、程序设计语言的演化

落花浮王杯 提交于 2019-12-06 23:06:30
软件的内涵 软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。 软件的正确含义应该是: (1)运行时,能够提供所要求功能和性能的指令或计算机程序集合 (2)程序能够满意地处理信息的数据结构 (3)描述程序功能需求以及程序如何操作和使用所要求的文档 操作系统 1.什么是操作系统 操作系统( operating system,OS)为计算机硬件和应用程序提供了一个交互的界面,并指挥计算机各部分硬件的基本工作。 (1)系统观点——计算机资源处理 (2)用户观点——用户使用计算机的界面 (3)软件观点——程序、数据和文档的集合 2.DOS 磁盘操作系统(Disk Operating System,DOS)是个人计算机上使用的一种操作系统,通过命令行方式下输入命令对计算机资源进行管理。 3.Windows操作系统 Windows采用了图形化模式GUI,比起从前的DOS需要输入指令使用的方式,更为人性化。它不但易用,也当前应用最广泛的操作系统。 特点: (1)Windows操作系统的人机操作性优异。 (2)Windows操作系统支持的应用软件较多。 (3)Windows操作系统对硬件支持良好。 【2】 4

如何使用Microsoft的驱动程序验证程序解释无法分析的崩溃转储文件

China☆狼群 提交于 2019-12-06 16:53:34
这篇文章解释了如何使用驱动程序验证工具来分析崩溃转储文件。 使用Microsoft驱动程序验证工具 如果您曾经使用Windows的调试工具来分析崩溃转储,那么毫无疑问,您已经使用WinDbg打开了一个崩溃转储文件。WinDbg将对崩溃文件执行内部分析,并建议您从!analyze命令开始。该命令输出堆栈以及许多其他信息。执行此操作时,堆栈底部将显示转换为内核模式的线程,然后从那里开始,您向上遍历堆栈以查看是否存在罪魁祸首驱动程序。虽然这是一种可靠的调试技术,但有时崩溃转储或其中的一组将无法分析。内存中没有任何模式可以指出导致系统崩溃的原因,或者内存可能已损坏,因为崩溃转储文件实际上指向Ntsokrnl.exe或win32k.sys。 有一种方法可以通过使用Microsoft驱动程序验证工具将无法处理的崩溃转换为可分析的崩溃。此工具随Windows的每个版本一起提供,不是单独安装的。它不可见,因此不在“开始”菜单或“控制面板”中的“管理工具”中。通过在“开始”菜单的“运行”框中键入“verifier”来启动它,但是为了使用它,您应该知道它是如何工作的。本文将介绍如何使用此工具将无法分析的崩溃转换为可分析的崩溃。驱动程序验证工具包含许多选项,其中一些应该严格避免。 要启动驱动程序验证程序,请在“开始”菜单的“运行”框中键入“Verifier.exe”。第一个数据框显示列表选项

请问什么机制导致vxworks比linux的实时性要强

余生颓废 提交于 2019-12-06 12:41:04
过去很多嵌入式系统不是一个操作系统,或者是提供商的专有核心,或者是DOS操作系统的 扩展。显然这些方法并不能适应今天嵌入式系统开发的要求!现有的一些商业实时操作系统 ,尽管提供了很小的核心和多任务开发环境,但性能并不理想,也不符合现在实时嵌入式市 场的需求。 因此,人们把目光投向了通用操作系统(例如Windows、Solaris、linux),希望把它们“ 改造”为实时操作系统。通常这些操作系统功能强大,结构复杂,易于软件的二次开发,实 用性强,并且提供编程人员熟悉的标准API。此外,这些操作系统也提供了一些对实时软件 开发的支持。然而,这些操作系统用于嵌入式系统的开发还存在不足。嵌入式系统要求具备高可靠性,满足应 用需求的可剪裁性,以及比通用操作系统要求更高的实时性。 做为嵌入式系统开发的解决方案,linux在众多通用操作系统中具有独一无二的优势。 首先,Windows和Solaris等专有商业操作系统的剪裁受到商家的严格控制。这大大限制了开 发者的剪裁深度。而linux遵循GPL协议,开放所有系统源代码,非常易于剪裁。 其次,同其它开放源码的通用操作系统(如FreeBSD)相比,linux在多种处理器、开发板支 持和软件开发工具支持上有很强的优势。 linux最初也是作为通用操作系统而设计开发的,但提供了一些实时处理的支持。这包括支 持大部分POSIX标准中的实时功能

VxWorks实时操作系统特点介绍

痴心易碎 提交于 2019-12-06 12:37:35
VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似MicrosoftVisual C,但是提供了更丰富的调试、仿真环境和工具。 VxWorks的特点 1、VXWORKS既是一个操作系统、又是一个可以运行的最小基本程序 2、VXWORKS有BSP(可以认为是一种低层驱动),可以减小驱动程序的编写过程 3、VXWORKS具有强大的调试能力,可以在没有仿真器的情况下,通过串口调试。 4、VXWORKS具有软件DEBUG功能,可以对软件部分进行模拟调试。 5、VXWORKS具有丰富的函数库。 6、同时VXWORKS自带TCP/IP协议栈。 最大可能的减小开发者系统软硬件开发的难度,缩小开发周期,提高开发效率。 可以部分的保证软硬件开发的同步进行。 一个好的操作系统的几大特点: ● 多任务和可抢占的 ● 任务具有优先级 ● 操作系统具备支持可预测的任务同步机制 ● 支持多任务间的通信 ● 操作系统具备消除优先级转置的机制 ● 存储器优化管理 ● 操作系统的(中断延迟、任务切换、驱动程序延迟等)行为是可知的和可预测的。 ● 实时时钟服务 ● 中断管理服务 可靠性 操作系统的用户希望在一个工作稳定,可以信赖的环境中工作

XenServer虚拟化——介绍与环境部署

依然范特西╮ 提交于 2019-12-06 08:32:46
运维工程师—李晨星 一、虚拟化 1. 什么是虚拟化 虚拟化,是指通过虚拟化技术模拟计算机的硬件,虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。 2. 虚拟化软件的差别 Linux虚拟化软件: qemu:软件纯模拟全虚拟化软件,特别慢!AIX,兼容性好! Xen:性能特别好,需要使用专门修改之后的内核,兼容性差! KVM:虚拟机,它有硬件支持CPU,基于Linux内核,而且不需要使用专门的内核!性能较好,兼容较好 VMware:图形界面,虚拟机管理管理软件,同时可运行多个操作系统在主系统的平台上,可以进行虚拟的分区、配置而不影响真实硬盘的数据,可通过网卡将虚拟机连为局域网,极其方便。 virtual box:号称最强的免费虚拟机软件,Oracle已收购,非常小。使用上和VMware差不多,有点耗CPU。 二、XenServer服务器虚拟化平台 1. 首先从Xen开始说起 Xen体系的架构 Xen 的 VMM ( Xen Hypervisor ) 位于操作系统和硬件之间

docker概念

情到浓时终转凉″ 提交于 2019-12-06 07:13:01
一、docket概述 什么是docker? 为什么docker会出现 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验。 Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。 环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。 之前在服务器配置一个应用的运行环境,要安装各种软件,例如python的django项目的环境来说吧,python3的环境,各种依赖包,uwsgi的部署等。安装和配置这些东西有多麻烦就不说了,它还不能跨平台。假如我们是在 Windows 上安装的这些环境,到了 Linux 又得重新装。况且就算不跨操作系统,换另一台同样操作系统的服务器,要移植应用也是非常麻烦的。 传统上认为,软件编码开发/测试结束后,所产出的成果即是程序或是能够编译执行的二进制字。而为了让这些程序可以顺利执行,开发团队也得准备完整的部署文件,让维运团队得以部署应用程式,开发需要清楚的告诉运维部署团队,用的全部配置文件

什么是API

这一生的挚爱 提交于 2019-12-06 05:42:53
阅读编程资料时经常会看到API这个名词,网上各种高大上的解释估计放倒了一批初学者。初学者看到下面这一段话可能就有点头痛了。 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。——百度百科 这篇文章我们就来通俗易懂地解释下什么叫做 API,你只需要花费1分钟时间。 从文件操作开始谈API。 以C语言为例,我们使用fopen()函数可以打开一个文件,感觉非常简单。文件保存在硬盘上,要经过复杂的处理才能显示,这些细节对我们来说是透明的,由操作系统完成。也就是说,我们调用fopen()函数来通知操作系统,让操作系统打开一个文件。 那么,我们如何告诉操作系统打开文件呢? 看似简单的操作到底层都非常复杂,打开文件首先要扫描硬盘,找到文件的位置,然后从文件中读取一部分数据,将数据放进I/O缓冲区,放进内存;这些数据都是0、1序列,还要对照ASCII表或Unicode表”翻译“成字符,再在显示器上显示出来。这个过程如果要让程序员来完成,那简直是噩梦! 怎么办呢?操作系统想了一个很好的办法,它预先把这些复杂的操作写在一个函数里面,编译成一个组件(一般是动态链接库),随操作系统一起发布,并配上说明文档