linux操作系统原理如何学习linux操作系统
linux操作系统原理 时间:2021-07-05 阅读:(
)
操作系统的原理是什么?
如果你真知道不要操作系统的概念、特征和功能,就说明你已经知道操作系统原理了。
简单说,操作系统就是提供很多程序模块管理着整个计算机,你可直接调用这些模块。
比如打印,你只在你的程序中输入print语句,或点击打印,具体怎样打印,就是调用了操作系统打印的功能模块,用操作系统代码完成打印。
操作系统原理包括:进程调度,存储管理,设备管理,文件管理等。
什么是 Linux ?什么是操作系统?
最简单的说法
linux只是一个系统内核,相当于微软公司的NT内核.
操作系统=内核+系统外壳
linux也是是一个内核,也不是一个完整的系统
但是人们常把基于LINUX开发的系统叫做LINUX系统liunx的操作系统是什么
Linux操作系统,是一种计算机操作系统。
Linux操作系统的内核的名字也是“Linux”。
Linux操作系统也是自由软件和开放源代码发展中最著名的例子。
严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且搭配了程各种人机界面、应用和服务软件的操作系统(也被称为GNU/Linux)。
基于这些组件的Linux软件被称为Linux发行版。
一般来讲,一个Linux发行套件包含大量的软件,比如软件开发工具,数据库,Web服务器(例如Apache),X Window,桌面环境(比如GNOME和KDE),办公套件(比如),等等。
Linux内核最初是为英特尔386微处理器设计的。
现在Linux内核支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬件设备。
在开始的时候,Linux只是个人狂热爱好的一种产物。
但是现在,Linux已经成为了一种受到广泛关注和支持的一种操作系统。
包括IBM和惠普在内的一些计算机业巨头也开始支持Linux。
很多人认为,和其他的商用Unix系统以及微软Windows相比,作为自由软件的Linux具有低成本,安全性高,更加可信赖的优势。
如何学习linux操作系统
一.为什么要学Linux?
当然最重要是爱好和兴趣!如果你这种必要学,或者根本不喜欢,请不要浪费时间,你学也学不好!
二.起步
你应该为自己创造一个学习Linux的环境--在电脑上装一个Linux或unix
问题1:版本的选择
北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的Linux
开发人员中用debian的最多,其次是redhat,从全球Linux各应用领域市场份额来看
无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。
对于初学Linux的人来说,我建议是使用redhat,原因如下:
1)现在很多书都是以redhat为例讲的,为了与书本协调一致
2)周围的人都用redhat,交流比较方便
3)redhat应用范围广,有典型性和代表性
4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上
而应集中精力学习最有用的东西。
//注:现在觉得RH很死板,AS,ES等用在服务器上或许不错,
Personal 用mandrake,debian,suse都不错,笔者现在用Mandrake,因为她长得漂亮
如果你并不打算深入学习Linux,而是有诸如适应北京市政府办公平台迁移到
Linux上这种需要,那么中软,红旗等中文Linux是不错的选择
我强烈建议:自己亲自动手把Linux装到你的硬盘上,
你必须学会独立安装Linux系统的技能,对于现在的版本来说,其实跟装WinXP一样简单
从此现在开始,请不要以windows的工作方式来考虑问题,
应该尝试挖掘Linux身上的“天才unix”的气质。
三.进阶
掌握至少50个以上的常用命令
理解shell管道"|",文件流重定向">"及追加">>"等
熟悉Gnome/KDE等X-windows桌面环境操作
掌握.tgz.rpm.biz等软件包的常用安装方法
学习添加外设,安装设备驱动程序(比如modem)
熟悉Grub/Lilo引导器及简单的修复操作
熟悉系统固有目录的名称及公用
学会用mount命令访问其他文件系统
了解vi,,gdb等常用编辑器,编译器,调试器
学习Linux环境下的简单组网
建议:买一本不需要太厚的Linux教材,大致可以满足要求
//现在的书越来越多了,还带很多图,我当时可没这么多书:)
四.高级应用
澄清一些概念:
Linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识
我个人认为比较重要几种Linux语言
1.英语
即使你不学Linux,我也强烈建议你学好英文[U.S.english]
因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装
你必须能无障碍的阅读大量的英文技术文档
在搜索引擎找到的英文网站和网页中熟练的检索
最好能有用英文直接交流的能力,
摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距
2.shell[sed/awk]
shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat
但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell
几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上
这也是CS中的一个重要思想。
此外,shell可以实现工作自动化,这个概念也比较重要
sed,awk用来处理文本,历来很常用
3.Perl/PHP
漂亮的脚本, CGI的首选,比ASP好,应用面很广
4.CC++
C、C++是Linux/unix的核心语言,系统代码都是C写的
5.ASM
系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要
//走核心路线的话,才cc++,asm最重要
6.Java,Python,Tcl,XML
*系统管理篇
在熟悉Linux的基础上还需要掌握至少一种unix
我首推Solaris,其次是FreeBSD
比如运营级系统一般是Solaris+Oracle/DB2之类的
学习apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind
等各种应用服务器的构架及电子商务的应用
熟悉TCP/IP协议族,学习诸如apache+php+proftp+mysql+quota的实现以及大型局域网,分布式集群
等各种企业级应用解决方案
熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复
系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能
我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员
各种基于Linux的解决方案可参考相关书籍和文献,必要时用google或各大Linux站点站内
搜索引擎寻找最新文档,以避免错误和漏洞
有几本技术大全和技术内幕我认为都是这方面不错的书
*深入学习Linux
我个人理解的读Linux内核需要的基础:
在此之前,希望先把应用层的东西学一下,那样会比较好理解
1.C
如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种),
建议再看一下
《The C Programming Language》Second Edition这本圣经
/*如果想学缓冲区溢出,这点C的功力可能是不够的*/
还有,<C陷阱与缺陷>,<C专家编程>,<CC++深层探索>
反正经典书看多了是没有坏处的
2.asm (AT&T语法,保护模式)
保护模式下的比较复杂,基本上每本讲内核的书都会有介绍
有80x86 Intel语法的基础就行,
有兴趣可以看看Intel的官方****
3.数据结构(离散数学)
计算机专业的核心课程,重要性我就不说了
4.操作系统原理
看懂这个再去读Linux吧
5.微机原理/组成原理(数字电路)
底层直接和硬件打交道,所以这个也要
6.了解Linux/unix
我想至少你要会操作吧,了解unix的API
7.软件工程/编译原理
这方面的经典书去可以搜到很多
我觉得APUE这种书不适合初学者,还是先看看UPE之类的吧,这样你就能学好Linux操作系统的知识了。
RAKsmart发布了9月份优惠促销活动,从9月1日~9月30日期间,爆款美国服务器每日限量抢购最低$30.62-$46/月起,洛杉矶/圣何塞/香港/日本站群大量补货特价销售,美国1-10Gbps大带宽不限流量服务器低价热卖等。RAKsmart是一家华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(...
特网云官網特网云服务器在硬件级别上实现云主机之间的完全隔离;采用高端服务器进行部署,同时采用集中的管理与监控,确保业务稳定可靠,搭建纯SSD架构的高性能企业级云服务器,同时采用Intel Haswell CPU、高频DDR4内存、高速Sas3 SSD闪存作为底层硬件配置,分钟级响应速度,特网云采用自带硬防节点,部分节点享免费20G防御,可实现300G防御峰值,有效防御DDoS、CC等恶意攻击,保障...
专心做抗投诉服务器的VirtVPS上线瑞士机房,看中的就是瑞士对隐私的保护,有需要欧洲抗投诉VPS的朋友不要错过了。VirtVPS这次上新的瑞士服务器采用E-2276G处理器,Windows/Linux操作系统可选。VirtVPS成立于2018年,主营荷兰、芬兰、德国、英国机房的离岸虚拟主机托管、VPS、独立服务器、游戏服务器和外汇服务器业务。VirtVPS 提供世界上最全面的安全、完全受保护和私...
linux操作系统原理为你推荐
0x80070005计划任务时出现错误代码80070005oracle索引oracle表加索引有什么用? 请举一个例子说明谢谢jdk6JDK6和JDK7两个版本有什么区别,初学者选那个好?editplus破解版cool edit pro 2.1汉化破解版丁奇请全面剖析一下黑胡子丁奇这个人物。ruby语言Ruby是 什么意思弹幕播放器弹弹play播放器怎么样faq是什么意思在国际贸易中“FAQ”代表的是什么意思什么是句柄按键精灵的句柄是什么?新手怎么制作表格我是初学者、电脑上怎么制作表格
沈阳虚拟主机 中国十大域名注册商 VPS之家 rackspace 私人服务器 ixwebhosting 创宇云 上海域名 免费防火墙 东莞数据中心 免费私人服务器 php服务器 测速电信 阿里云邮箱申请 酷锐 WHMCS ubuntu安装教程 screen 留言板 瓦工工具 更多