windows操作系统书籍的简单介绍

windows是如何发挥它的作用的?微软的windows视窗操作系统是电脑的操作系统,简单的说就是用来控制操作电脑的 。现代生活方方面面都离不开电脑 , 如何操作和控制电脑呢,这个就是windows操作系统的作用 。
你可以用电脑来看电视,看视频 , 玩游戏 听歌,这些都是操作系统的功劳 。
当然操作系统不是只有windows一家,还有unix linux centos ubuntu redhat 等等,这些都是专业人士使用的 。可以《Linux就该这么学》了解,也可以去买几本关于如何使用windows 的书籍看看
求推荐有关操作系统方面经典实用的书籍?操作系统经典书籍推荐
.
Abraham Silberschatz的两本书:
1. 实用操作系统概念(影印版)
2. 操作系统概念(第六版 影印版)
这个作者绝对是顶尖级的windows操作系统书籍,来自贝尔实验室 , 是目前世界上操作系统方面的领军人物 。这两本书第二本和第一本很多地方相似,区别在于第二本理论偏重一些 , 第一本实例讨论的更多一些 。这两本书别看很厚,但是写的非常流畅,属于比较易读的一类 。
3. 现代操作系统(英文版?第2版)
Andrew S. Tanenbuam(坦尼伯姆, AST)是第4本书的升级版 , 里面添加windows操作系统书籍了一些新的操作系统方面的讨论 , 原理部分比第四本稍有增强 。个人认为 , 是除了前面两本之外的最好的书 。
4. 操作系统: 设计及实现(第二版)(英文影印版)
这个比较有名了,主要是分析minix源代码的书,顺带着讲了下原理 , 应该说是偏于实践的,可能当年的linus的教材就是这本,影响较大,可以帮助你了解一个文件系统或系统调用之类是如何实现的 。当然 , 和目前的操作系统来讲,稍简单了一些 。想做linux kernel hacker的同学此书可以一读 。
5. 操作系统:现代观点(第二版 实验更新版)(英文版)
Operating Systems: A design-Oriented Approach 这两本一般,但是还是比国内抄袭的教材强很多,可以作为补充阅读的书籍 。
6. LINUX内核源代码情景分析(上册) LINUX内核源代码情景分析(下册)
Understanding Linux Kernel
Linux internal
这三本是最nb的linux内核分析书籍,后两本讲2.2内核,第一本讲2.4 。
7. 4.4BSD操作系统设计与实现(英文影印版)
不说少了,原来berkeley那帮写bsd的其中几个人写的,经典就是它了 。
8. UNIX操作系统设计(英文版)
:古老的unix设计方面的书籍 , 应该说这本书在unix世界里面的影
响是十分巨大的,很多后来的unix分枝,思想都是缘于此书 。里面主要讲解unix各个部分
实现时所用的算法,其中一些目前还在使用中 。想了解一下unix实现但又没什么时间扣
minix或linux内核的朋友可以看看,在这本书上花费几十个小时,绝对超值:)
9.Linux内核完全注释
这一本书windows操作系统书籍我觉得也很棒 。它以Linux 0.11内核源码为基础进行详细的分析,解释细致到位 。虽然不是“经典”,但仍推荐windows操作系统书籍!凭借简洁明了的源码分析,你可以管窥Linux操作系统的奥秘 。
*****************************
一名教师的建议:
想学操作系统的同学,推荐以下教材供选择:
概念和理论:《现代操作系统》、《操作系统概念》
基于Unix:《Unix操作系统设计》
基于Linux:《深入理解Linux内核》
基于Windows:《深入解析Windows操作系统》
操作系统设计:《操作系统设计与实现》
源代码分析:《Linux内核源代码情景分析》
*********************************
如对解决你的问题有帮助.请及时点击【采纳为满意回答】按钮,顺便点击【给力】按钮加好评更OK.
推荐有关计算机的书籍1:《计算机组成结构化方法》
《计算机组成结构化方法》是由机械工业出版社出版的图书,作者是(荷)塔嫩鲍姆(Tanenbaum,A.S.) 。本书可以作为计算机专业本科生学习计算机组成与结构课程的教材或参考书,也可供其他相关专业人员参考 。
2:《现代操作系统》
《现代操作系统》是机械工业出版社出版的图书,作者是(荷兰)AnderwS.Tanenbaum 。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统,WindowsVista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统 。
3:《操作系统设计与实现》
《操作系统设计与实现》是电子工业出版社出版发行的图书,作者是Andrew S. Tanenbaum / Albert S. Woodhull 。为刚接触操作系统课程的大学生编写 。通过用户友好型的、高度灵活的OSP2教学软件环境 , 提供了操作系统设计与实现的重要基础 。
4:《深入解析windows操作系统》
《深入解析windows操作系统》是电子工业出版社出版的图书,作者Mark E .Russinovich,David A.Solomon。本书还介绍了一些高级诊断技术,以便使你的系统运行得更加平稳和高效 。通过这些知识你可以更好地做系统设计、调试,以及性能优化 。
5:《程序员修炼之道——从小工到专家》
《程序员修炼之道——从小工到专家》,是电子工业出版社2004 年出版的图书,作者是Andrew Hunt,David Thomas 。从本书所学到的开发技巧、开发习惯以及职业态度,必将帮助您修炼成为一名真正的Pragmatic Programmer!
想学IT应该买什么书看?首先 , 我觉得你需要明确自己的发展方向,你想学习的课程起码串联起来是个完整的体系,以后能够帮助你就业
书籍整理如下:
C开发
1.《CPrimer》:全面学习C的必备书籍
2.《Thinking in C》:了解C背后的一些机bai制
3.《深度探索C对象模型》:深入了解C,也是学习COM的必经之路
Windows平台
入门
1.《Windows程序设计》:这本书主要讲的是Windows API的使用,是Windows编程入门书籍 。上册涉及到的知识基本上就够用了,时间不充裕的话阅读上册即可 。
2.《Win32多线程程序设计》:Windows下多线程编程必备
3.《Windows核心编程》:Window平台基础知识:消息机制,内存管理,多线程,动态链接库等
4.《Windows网络编程》:介绍Windows下各种网络协议的开发和并发处理模型 。
进阶
1.《深入浅出MFC》:Windows下编程,MFC虽然有些过时,但其机制还是有学习的价值 。重点学习书中提到的MFC 6大机制
2.《COM本质论》:COM是Windows构建用户态的重要技术之一,Windows开发必修课,本书对COM的设计动机作了深入阐述
3.《深入解析ATL》:ATL全名Active Templete Library,是用C的模版封装了COM,这本书主要讲的是对源码分析
4.《WTL White Paper》:WTL源自微软,基于ATL的一套开源模版库,主要用于界面编程和工具类的使用
5.《代码大全》:这边书主要讲的是工程编码规范
高级
1.《深入解析Windows操作系统》:Windows大牛书籍,讲的主要是Windows操作系统的内核原理
调试技术
1.《软件调试》
2.《Windows高级调试》
3.《windows用户态程序高效排错》
Linux平台
Linux内核
1.《Linux Kernel Development》/《Linux内核设计与实现》:Robert Love的著作,不厚的一本书,深入浅出地将Linux内核娓娓道来
Linux使用和Shell编程
1.《sedawk》/《sed与awk》:sed与awk都是Linux下常用的日志分析利器
Linux编程
1.《Beginning Linux Programming》/《Linux程序设计》:老牌的Linux编程入门书
2.《Advanced Programming in the Unix Environment》/《Unix环境高级编程》:对Unix编程环境做了细致的总结,涵盖了进程间通讯、网络通讯、文件系统等各方面的知识
网络编程
1.《TCP/IP Illustrated, Volume I》/《TCP/IP详解,卷一》:对理解TCP/IP协议的设计理念和协议细节有显著的帮助 。
2.《Unix Network Programming》/《Unix网络编程》,卷一、卷二:网络编程方面难以逾越的著作,事无巨细、深入浅出,强烈推荐
对这些书目抱有100%的信心,全部掌握,融会贯通,即可打通奇经八脉,天下无双 。
对了,你没有基础最好从c与c基础开始 。找些基础书开始看 。
[C语言入门经典(第四版)].(美)霍顿.扫描版,《CPrimer》就不错 。
C语言钩子的问题,好像有漏洞啊知道动态链接库的底层实现么?
一个动态链接库在物理内存中只被装入一次
意味着你的dll在内存中只有一个副本
一个进程加载你的dll这个过程仅仅是操作系统把那块dll物理内存所对的那块内存加载到这个进程的逻辑地址(地址空间)罢了
怎么可能内存浪费?
所有进程都加载了你的dll,那个dll在实际内存中也只有一个副本
这就是动态链接库的好处
PS::dll被动加载(不是用LoadLibrary加载)是以进程为单位的 。。。。下次不要说一个线程加载了dll了 。。。。即使一个线程加载了那个dll,那个dll也是被那个进程共享的
对你的问题的补充
我只补充一点:对于任何一个dll,都是可以被共享的
如果两个进程a和b都需要加载动态链接库1.dll
那操作系统负责把1.dll装入物理内存
然后把这块内存区域的数据(在逻辑上)加载到进程a和进程b的虚拟地址空间中(按照a和b的输入表以及重定位信息装入到一个地址中)
所谓逻辑上加载就是并没有在实际内存中额外创建一个1.dll的副本
当a.进程退出时,1.dll继续停留在内存中,当b进程退出时,操作系统会知道模块1.dll在内存中已经不被需要了就会回收这块内存 。
这就是动态链接库的好处,除代码重用之外还能减少内存占用?。ㄎ蘼凼窃诳⑸? ,还是在实际使用上 , 动态链接库都有着不可取代的高效)
另外我想我上面的回答已经够详细了
还不懂,那我也没办法
二楼的解释纯属扯谈
全局钩子就是需要操作系统把这个dll映射到每一个进程中去的 。
但这样就是常驻内存吗?请问二楼你写过全局钩子吗?请问二楼你写代码的时候申请了一块内存有释放掉这块内存的习惯吗?
我请问你听说过Windows API :
UnhookWindowsHookEx
(
HHOOK hhk;
);
吗?没听说过请别瞎扯 ,ok?
全局钩子就是要钩全局的事件,为何要指定释放?需要指定释放那创建钩子的时候为什么不用进程钩子?不吐槽了 , 无奈~~
不懂windows运行机制最好不要上来误导不懂的人,谢谢
楼主如果只是做开发的 , 那你只需要知道全局键盘钩子不需要任何额外内存就可以运行得很好,操作系统能做到把一块物理内存上的 dll数据加载到每一个进程地址空间中去~
楼主如果想要把这个过程了解清楚
请参阅windows编程以及windows操作系统的相关书籍
如果能看懂《windows环境下32位汇编语言程序设计》这本书,那你几乎问不出任何windows编程的问题了~
【windows操作系统书籍的简单介绍】windows操作系统书籍的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于、windows操作系统书籍的信息别忘了在本站进行查找喔 。

    推荐阅读