操作系统开发

C语言简单介绍

心已入冬 提交于 2019-12-16 07:38:40
C语言介绍 C 语言是一种面向过程的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。 UNIX 操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。由于各种原因,C 语言现在已经成为一种广泛使用的专业语言。 C语言的特点 易于学习。 结构化语言。 它产生高效率的程序。 它可以处理底层的活动。 它可以在多种计算机平台上编译。 为什么要使用C语言 C 语言最初是用于系统开发工作,特别是组成操作系统的程序。由于 C 语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C 语言作为系统开发语言。 下面列举几个使用 C 的实例: 操作系统 语言编译器 汇编器 文本编辑器 打印机 网络驱动器 现代程序 数据库 语言解释器 实体工具 … 来源: CSDN 作者: 给回个话 链接: https://blog.csdn.net/u010171285/article/details/103484480

基础篇:浅谈jre、jvm、jdk

六月ゝ 毕业季﹏ 提交于 2019-12-15 06:40:26
一、 详细介绍 1、JVM – java virtual machine JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解 释给本地系统执行。 JVM 是 Java 平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行 时操作不同的内存区域。 JVM 通过抽象操作系统和 CPU 结构,提供了一种与平台无关的代码执行方法,即与特殊的实现方 法、主机硬件、主机操作系统无关。但是在一些小的方面, JVM 的实现也是互不相同的,比如垃圾回收 算法,线程调度算法(可能不同 OS 有不同的实现)。 JVM 的主要工作是解释自己的指令集(即字节码)到 CPU 的指令集或 OS 的系统调用,保护用户免被恶意程序骚扰。 JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的 组成包括 JVM 指令集,符号表以及一些补助信息。 2、JRE – java runtime environment JRE是指java运行环境。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib

Linux磁盘术语描述

亡梦爱人 提交于 2019-12-14 21:57:01
文章目录 Linux磁盘术语描述 什么是磁盘 软盘(Floppy Disk) 硬盘 硬盘的接口类型 IDE SATA SCSI 光纤通道 SAS 非DOS分区 主分区 扩展分区 分区格式 FAT16 FAT32 NTFS ext2、ext3 什么是格式化 低级格式化低级格式化 高级格式化高级格式化 Linux磁盘术语描述 什么是磁盘 磁盘就是计算机的外部存储器设备,即将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失。简单地讲,就是一种计算机信息载体,也可以反复地被改写。磁盘有软盘和硬盘之分: 软盘(Floppy Disk) 软盘是个人计算机(PC)中最早使用的可移介质。软盘的读写是通过软盘驱动器完成的。软盘驱动器设计能接收可移动式软盘,目前常用的就是容量为1.44MB的3.5英寸软盘。软盘存取速度慢,容量也小,但可装可卸、携带方便。作为一种可移贮存方法,它是用于那些需要被物理移动的小文件的理想选择。 硬盘 硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。硬盘有固态硬盘(SSD 盘,新式硬盘)、机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)。SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘(HHD: Hybrid Hard Disk

多核技术导论之操作系统对多核处理器的支持方法

孤街浪徒 提交于 2019-12-14 07:06:38
1.4 操作系统对多核处理器的支持方法 1.4.1 调度与中断 随着多核处理器的发展,对软件开发有非常大的影响,而且核心的瓶颈在软件上。软件开发在多核环境下的核心是多线程开发。这个多线程不仅代表了软件实现上多线程,要求在硬件上也采用多线程技术。可以说多核提供了可以大幅提升性能的机制,多核软件就是可以真正利用这一特点的策略。只有与多核硬件相适应的软件,才能真正地发挥多核的性能。多核对软件的要求包括对多核操作系统的要求和对应用软件的要求。 多核操作系统的关注点在于进程的分配和调度。进程的分配将进程分配到合理的物理核上,因为不同的核在共享性和历史运行情况都是不同的。有的物理核能够共享二级cache,而有的却是独立的。如果将有数据共享的进程分配给有共享二级cache的核上,将大大提升性能;反之,就有可能影响性能。进程调度会涉及到比较广泛的问题,比如负载均衡、实时性等。 面向多核体系结构的操作系统调度目前多核软件的一个热点,其中研究的热点主要有下面几方面:程序的并行研究;多进程的时间相关性研究;任务的分配与调度;缓存的错误共享;一致性访问研究;进程间通信;多处理器核内部资源竞争等等。这些探讨相互独立又相互依赖。考虑一个系统的性能时必须将其中的几点同时加以考虑,有时候对一些点的优化会造成另一些点的性能下降,需要用程序进行性能优化评测,所以合适的多核系统软件方案正在形成过程中。

Linux操作系统主要用途有哪些?细分三大应用领域!

巧了我就是萌 提交于 2019-12-14 05:41:09
  操作系统,是我们生活中最常接触的,也是大家都比较了解的。不过你知道操作系统具体分为哪几种吗?常见的就是Windows系统,其实除此之外还有Linux、Unix系统,今天特地跟大家聊聊关于Linux操作系统的事情。   Linux因为稳定、开源、免费、安全、高效的特点,发展非常快速,在服务器市场占有率超过80%,随着云计算的发展,Linux在未来有着非常好的发展。   Linux操作系统主要用途是什么?分为以下三大应用领域:   1、Linux作为企业级服务器的应用:Linux系统可以为企业架构WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器、路由器等,不但使企业降低了运营成本,同时还获得了Linux系统带来的高稳定性和高可靠性,且无须考虑商业软件的版权问题。   2、嵌入式Linux系统应用领域:由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活而且具有极大的伸缩性,再加上它广泛支持大量的微处理体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用的领域里,从因特网设备(路由器、交换机、防火墙,负载均衡器)到专用的控制系统(自动售货机,手机,PDA,各种家用电器),LINUX操作系统都有很广阔的应用市场。特别是经过这几年的发展,它已经成功地跻身于主流嵌入式开发平台。   3、个人桌面Linux应用领域:所谓个人桌面系统

JVM的内存区域划分(jdk7和jdk8)

丶灬走出姿态 提交于 2019-12-13 19:59:15
前言 1、什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 2、JRE/JDK/JVM是什么关系 JRE(JavaRuntimeEnvironment,Java运行环境),也就是Java平台。所有的Java 程序都要在JRE下才能运行。普通用户只需要运行已开发好的java程序,安装JRE即可。 JDK(Java Development Kit)是程序开发者用来来编译、调试java程序用的开发工具包。JDK的工具也是Java程序,也需要JRE才能运行。为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是 安装的一部分。所以,在JDK的安装目录下有一个名为jre的目录,用于存放JRE文件。 JVM(JavaVirtualMachine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。 3、JVM执行程序的过程

服务器常用的操作系统如何选择?116.211.143.X

无人久伴 提交于 2019-12-13 12:59:02
服务器常用的操作系统如何选择? 建站需要用服务器,在服务器选购过程中,除了常见的CPU、内存、硬盘、带宽等配置以外,用户还需要自行选择操作系统,大多数服务器都使用Windows Server或Linux操作系统 Windows系统 Windows Server是专为服务器设计的专有操作系统,包括Microsoft开发的服务器应用程序,如IIS Web服务器,用于支持虚拟化的工具,以及包括防火墙的安全工具。Window系统的用户界面和开发环境都是面向对象的,易于理解、学习和使用。Windows是一个单用户、多任务的操作环境,允许用户同时运行多个应用程序,或在一个程序中同时做几件事情。 Windows系统有多个版本:Win 2003是较早出现的,不过随着服务器硬件环境的不断提升,微软基本已经停止对该版本的安全更新,因此不再列入推荐。现在比较主流的版本是win2008,相对前者而言显得更加成熟,无论是网络优化还是系统兼容方面都比较好。 Win2012则对系统原有功能进行了扩展,兼具开放性、可伸缩性、安全性、高性能、操作简单等优势特点,但应用普及率还有待提升。 Linux系统 Linxu是专为多用户服务器环境而构建的操作系统,可以实现不同用户共同登陆系统,资源分享上也比较公平。Linux运行稳定高效,并有庞大的用户和社区支持,能很快发现系统漏洞,迅速发布安全补丁

【Docker&VM】docker容器与虚拟机有什么区别?

我怕爱的太早我们不能终老 提交于 2019-12-13 04:44:28
各种虚拟机技术开启了云计算时代;而Docker,作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。那虚拟机与Docker究竟有何不同呢? 首先,大家需要明确一点,Docker容器不是虚拟机! 第一次接触Docker的时候,我把它比做一种轻量级的虚拟机。这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快。Docker不停地给大家宣传,"虚拟机需要数分钟启动,而Docker容器只需要50毫秒"。 然而,Docker容器并非虚拟机! 理解虚拟机 使用虚拟机运行多个相互隔离的应用时,如下图: 从下到上理解上图: 基础设施(Infrastructure)。它可以是你的个人电脑,数据中心的服务器,或者是云主机。 主操作系统(Host Operating System)。你的个人电脑之上,运行的可能是MacOS,Windows或者某个Linux发行版。 虚拟机管理系统(Hypervisor)。利用Hypervisor,可以在主操作系统之上运行多个不同的从操作系统。类型1的Hypervisor有支持MacOS的HyperKit,支持Windows的Hyper-V以及支持Linux的KVM。类型2的Hypervisor有VirtualBox和VMWare。 从操作系统(Guest Operating System)。假设你需要运行3个相互隔离的应用

Python零基础入门视频免费领取!!!

萝らか妹 提交于 2019-12-12 20:03:33
├─01基础 │ │ 第1节 linux操作系统基础.zip │ │ 第2节 python语法基础.zip │ │ 第3节 项目-飞机大战.zip │ │ 补充资料.zip │ │ │ └─第1节 linux操作系统基础 │ └─01.Linux以及命令 │ └─视频 │ 04-unix、minix、Linux操作系统的发展1.flv │ ├─02Python核心编程 │ 第1节 python高级编程.zip │ 第2节 linux系统编程.zip │ 第3节 网络编程.zip │ 第4节 web服务器案例.zip │ 第5节 正则表达式.zip │ ├─03数据结构与算法 │ 第1节 数据结构和算法基础.zip │ 第2节 顺序表.zip │ 第3节 栈与队列.zip │ 第4节 链表.zip │ 第5节 排序与搜索.zip │ 第6节 树与树算法.zip │ 资料.zip │ ├─04数据库 │ 第1节 MySQL.zip │ 第2节 MongoDB.zip │ 第3节 Redis.zip │ ├─05前端 │ 第1节 HTML.zip │ 第2节 CSS.zip │ 第3节 PhotoShop.zip │ 第4节 HTML5+CSS3.zip │ 第5节 移动端页面开发.zip │ 第6节 JavaScript.zip │ 第7节 JQuery.zip │ 第8节

什么是操作系统

半世苍凉 提交于 2019-12-12 15:50:05
Linux教程 什么是操作系统 Linux 也是众多操作系统之一,要想知道 Linux 是什么,首先得说一说什么是操作系统 操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。 操作系统简介 在计算机中,操作系统是其最基本也是最为重要的基础性系统软件。从计算机用户的角度来说,计算机操作系统体现在其提供的各项服务;从程序员的角度来说,其主要是指用户登录的界面或者接口;如果从设计人员的角度来说,就是指各式各样模块和单元之间的联系。事实上,全新操作系统的设计和改良的关键工作就是对体系结构的设计,经过几十年以来的发展,计算机操作系统已经由一开始的简单控制循环体发展成为较为复杂的分布式操作系统,再加上计算机用户需求的愈发多样化,计算机操作系统已经成为既复杂而又庞大的计算机软件系统之一。 操作系统历史 纵观计算机之历史,操作系统与计算机硬件的发展息息相关。操作系统之本意原为提供简单的工作排序能力,后为辅助更新更复杂的硬件设施而渐渐演化。从最早的批量模式开始,分时机制也随之出现,在多处理器时代来临时,操作系统也随之添加多处理器协调功能,甚至是分布式系统的协调功能。其他方面的演变也类似于此。另一方面