系统架构师成长之路(二)

本篇主要介绍操作系统基础知识。

操作系统(Operating System,OS)是计算机系统的核心系统软件,其他软件是建立在操作系统基础上,并在操作系统的统一管理和支持下运行。

计算机系统的硬件资源包括中央处理机(CPU)、存储器(主存与外存)和输入/输出设备等物理设备。

操作系统按功能不同可分为:单用户操作系统和批处理操作系统、分时操作系统和实时操作系统、网络操作系统和分布式操作系统以及嵌入式操作系统。

操作系统具有并发性(Concurrency)、共享性(Sharing)、虚拟性(Virtual)和不确定性(non-determinacy)。

操作系统的功能:进程管理、文件管理、存储管理、设备管理和作业管理。

进程调度与死锁

进程调度:进程调度即处理器调度(上线文转换),它的主要功能是确定把处理器在什么时候分配给哪一个进程。在有些操作系统中,一个作业从提交到完成需要经历高、中、低三级调度。

调度方式:调度方式是指当有更高优先级的进程到来时如何分配CPU。调度方式分为可剥夺和不可剥夺两种。

调度算法:常用的有先来先服务、时间片轮转(roundrobin)、优先级调度和多级反馈调度算法。

死锁:死锁是指两个以上的进程互相都因请求对方已经占有的资源,无限期地等待并无法继续运行下去的现象;死锁是系统的一种出错状态,它浪费系统资源,还会导致整个系统崩溃,所以应该尽量预防和避免死锁。

死锁原因:产生死锁的原因是资源竞争及进程推进顺序非法。产生死锁的4个必要条件是互斥条件、请求保持条件、不可剥夺条件和环路条件。

解决死锁的策略:死锁的处理策略主要有4种,鸵鸟策略(不理睬策略)、预防策略(破坏死锁的4个必要条件之一)、避免策略(精心地分配资源,动态地回避死锁)、检测与解除死锁(一旦发生死锁,系统不但能检测出,还能解除)。

磁盘调度算法:磁盘是可供多个进程共享的设备。磁盘调度室使各进程对磁盘的平均访问时间最小。常用的调度算法有先来先服务(firt-come first-served,FCFS)、最短寻道时间有限(Shortest Seek Time First,SSTF)、扫描算法(SCAN)。

常见操作系统

目前最流行的网络操作系统主要有NetWare系列、Windows系列、UNIX和Linux及相应的服务软件。

UNIX系统:UNIX操作系统是由美国贝尔实验室发明的一种多用户、多任务的分时操作系统。现已广泛运行于中型机和小型机等各种环境,用于大型信息系统的关键业务处理,如数据库和Internet主机。目前,UNIX通常与服务硬件产品集成在一起,具有代表性的有IBM公司的AIXUNIX、SUN公司的SolaresUNIX和HP公司的HPUNIX等。

Windows家族:Windows采用了图形化模式GUI,比起从前的DOS需要键入指令使用的方式更为人性化。随着电脑硬件和软件的不断升级,微软的Windows也在不断升级,从架构的16位、32位再到64位, 系统版本从最初的Windows1.0 到大家熟知的Windows 95、Windows 98、Windows ME、Windows 2000、Windows
2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10 和 Windows Server服务器企业级操作系统,不断持续更新,微软一直在致力于Windows操作系统的开发和完善。

Linux系统:1991年,芬兰赫尔辛基大学的学生Linux Torvalds利用互联网,发布了他在i386个人计算机上开发的Linux操作系统内核的源代码,创建了具有全部UNIX特征的Linux操作系统。Linux是一个支持多用户、多任务、多进程、实时性较好的、功能强大而稳定的操作系统,也是目前运行硬件平台最广泛的操作系统。Linux是以互联网和开放源码为基础的,许多系统软件的设计专家们都利用互联网对它进行了改进和提高。近年来,Linux得到了许多包括IB,、COMPAQ、HP、Oracle、Sybase、Informix在内的许多著名软硬件公司的支持,目前Linux已全面进入应用领域。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

Mac OS:Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户界面。Macintosh组包括比尔·阿特金森(Bill Atkinson)、杰夫·拉斯金(Jef Raskin)和安迪·赫茨菲尔德(Andy Hertzfeld)。Mac OS X 于 2001年 首次在商场上推出。它包含两个主要的部分:Darwin,是以
BSD 原始代码和 Mach 微核心 为基础,类似 Unix 的开放原始码环境。

ISO:iOS操作系统是由苹果公司开发的手持设备操作系统。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。截止至2011年11月,根据Canalys的数据显示,iOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。

 Android:Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。[8]  Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。

Windows Phone(简称:WP)是微软发布的一款手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。微软公司于2010年10月11日晚上9点30分正式发布了智能手机操作系统Windows Phone,并将其使用接口称为“Modern”接口。2011年2月,“诺基亚”与微软达成全球战略同盟并深度合作共同研发。2011年9月27日,微软发布Windows
Phone 7.5。2012年6月21日,微软正式发布Windows Phone 8,采用和Windows 8相同的Windows NT内核,同时也针对市场的Windows Phone 7.5发布Windows Phone 7.8。2014年4月2日,微软在旧金山召开Build2014开发者大会。大会上微软推出Windows Phone 8.1更新,2014年8月4日晚,微软正式向WP开发者推送了WP8.1 GDR1预览版,即WP8.1 Update。

Chrome OS:是由谷歌开发的一款基于Linux的操作系统,发展出与互联网紧密结合的云操作系统,工作时运行Web应用程序。谷歌在2009年7月7日发布该操作系统,并在2009年11月19日以Chromium OS之名推出相应的开源项目,并将Chromium OS代码开源。Chrome OS同时支持Intel x86以及ARM处理器,软件结构极其简单,可以理解为在Linux的内核上运行一个使用新的窗口系统的Chrome浏览器。对于开发人员来说,web就是平台,所有现有的web应用可以完美的在Chrome
OS中运行,开发者也可以用不同的开发语言为其开发新的web应用。

时间: 2024-10-14 04:42:52

系统架构师成长之路(二)的相关文章

系统架构师成长之路(一)

   背景:系统架构师是近几年来在国内外迅速成长并发展良好的一个职业,它对系统开发和信息化建设的重要性及给IT业所带来的影响是不言而喻的.在我国,虽然系统架构师的职业在工作内容.工作职责以及工作边界等方面还存在一定的模糊性和不确定性,但它确实是时代发展的需要,并正在实践中不断完善和成熟. 通常从组织上划分,架构师分为以下几大类:业务架构师(Business Architect).主题领域架构师(Domain Architect).技术架构师(Technology Architect).项目架构师

系统架构师成长之路(三)

   在当前的互联网领域,大数据的应用已经十分广泛,尤其以企业为主,企业成为大数据应用的主体.大数据真能改变企业的运作方式吗?答案毋庸置疑是肯定的.随着企业开始利用大数据,我们每天都会看到大数据新的奇妙的应用,帮助人们真正从中获益.大数据的应用已广泛深入我们生活的方方面面,涵盖医疗.交通.金融.教育.体育.零售等各行各业.    古代,人们用牛来拉重物.当一头牛拉不动一根圆木时,他们不曾想过培育更大更壮的牛.同样,我们也不需要尝试开发超级计算机,而应试着结合使用更多计算机系统.        

WEB架构师成长之路 二

法宝一:牛人爱惜自己的时间. 时间就是金钱,时间就是生命,时间如同健康一样,如果时间都没有,那成功也就是浮云了.所以牛人总是很爱惜自己的时间,总是在想办法提高自己的做事效率.我突然想了起来,我QQ里有几个牛人,问问他们点经验,结果大大出乎意料,个个不在线,好不容易发现个牛人在线,当然关系还不错的,至少不会不给面子吧?于是就QQ说一句客气话,“老兄,好久不见啊,最近在忙什么呢?”,消息发出去石沉大海,到第二天上QQ才收到一句回复,“不好意思,昨忙,有事直接打电话”,言简意赅,效率奇高,再想想我们这

开启运维自动化架构师成长之路

技术的提升仅是量的积累,思想的提升才是质的飞跃! 这句话是我在网上看到认为最有道理的励志语录了,当然互联网IT行业的工作者相对理解的会更加深刻. 以这句话开头引出我将要写的这篇文章.首先,请允许我做一个自我介绍: 熟悉的朋友喜欢叫我一声岩哥,这么些年我也认可了这个称谓,尽管不是太好听.从毕业之后就接触了互联网,到现在工作N多年,中间有接触过游戏行业.金融行业.教育行业.云计算行业.电商购物和系统项目集成等,所有的工作经验和项目经历都是跟互联网IT技术挂钩,熟知企业中.项目中和学习中关于IT方面的

如何成为一名架构师,架构师成长之路(转)

转自http://blog.csdn.net/fei33423/article/details/61934514 如何成为一名架构师,架构师成长之路 原创 2017年03月13日 22:50:34 3116 大量阅读别人的系统实现文章( 架构= 模块图 + 模块流程图(启动 和 主流程 ,可以用拟物 tag) 或者 模块时序图) 动态+静态 .对象很重要,模块很重要. 从产品角度,用户很重要 脑图不需要按空格,收缩行 https://www.processon.com/view/link/58c

架构师成长之路5.2-Saltstack远程执行

点击架构师成长之路 架构师成长之路5.2-Saltstack远程执行 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需要FUNC工具配置才可以 Ansible:1.采用python编程语言:2.被红帽收购:3.轻量级:4.基于模块工作的,本身没有批量部署的能力,真正批量部署的是ansible所运行的模块. Saltstack:采用python编程语言,同时提供Rest API方便二次开发以及和其它平台进行集成(目前企业使用率最高) Sal

架构师成长之路2.4-Kickstart文件剖析

点击返回架构师成长之路 架构师成长之路2.4-Kickstart文件剖析 kickstart文件是一个简单的文本文件,它包含了一个项目列表,每个项目由一个关键字来识别. 创建kickstart文件注意: 每节必须按顺序指定.除非特别申明,每节内的项目则不必按序排列.小节的顺序为: 命令部分,这里应该包括必需的选项.           %packages部分,这部分选择需要安装的软件包.           %pre和%post部分,这两个部分可以按任何顺序排列而且不是必需的.前者是预安装脚本,

架构师成长之路4.4-多维监控体系_zabbix

点击返回架构师成长之路 架构师成长之路4.4-多维监控体系_zabbix 点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路[第一回]:初识Zabbix 1.1 自学Zabbix1.1-简介 1.2 自学Zabbix1.2-zabbix特性 1.3 自学Zabbix1.3-zabbix进程 自学Zabbix之路[第二回]:安装Zabbix 2.1 自学Zabbix2.1-安装需求 2.2 自学Zabbix2.2-服务器端环境

架构师成长之路6.4 DNS服务器搭建(部署主从DNS)

点击返回架构师成长之路 架构师成长之路6.3 DNS服务器搭建(部署主从DNS)  部署主DNS : 点击 部署从DNS : 如下步骤 1.与主DNS一样,安装bind yum -y install bind-utils bind bind-devel bind-chroot bind-libs 2.与主DNS一样,编辑/etc/named.conf options { version "1.1.1"; listen-on port 53 {any;}; #表示使用53端口 direc