首页 文章 精选 留言 我的

精选列表

搜索[离线容错],共8796篇文章
优秀的个人博客,低调大师

不容错过!私藏的几个学操作系统好东西

本文转载自微信公众号「编程技术宇宙」,作者轩辕之风 。转载本文请联系编程技术宇宙公众号。 大家可能读过不少的操作系统的文章,不过这其中很多都是大谈操作系统的理论技术,鲜有探讨现代操作系统实际的实现。 你可能知道线程的几个状态和状态的变化,但你知道Linux中是如何进行线程调度的吗? 你可能知道线程的栈是怎么进进出出,但你知道Linux的线程栈如何分配管理,栈的最下面藏了什么秘密吗? 你可能对TCP/IP协议了然于胸,但你知道Linux中是如何实现TCP协议吗,跟RFC规范又有哪些不同? 你可能知道Signal机制,但你知道内核是如何派发信号和执行信号处理函数的吗? 你可能知道操作系统内存管理技术,但你知道Linux和Windows同样在x86架构下的实现有哪些区别吗? ······ 学一项技术,不能只是纸上谈兵,知其然还能知其所以然,还能知如何以然,方达至高境界。 阅读操作系统源代码,是学习操作系统的不二法门。下面就最常见的Linux和Windows系统分别介绍一下。 Linux Linux属于开源系统,想获取源码轻而易举,不过这里轩辕推荐一个我私藏的网站,不需要你科学上网,不需要你下载源码,在线阅读,哪里有电脑哪里就能看。 网址:https://elixir.bootlin.com/ 这个网站有几个好处: 在线阅读,免下载,随处可看 左边列表集成了Linux自发布以来所有版本的代码,可随意切换至你想要查看的版本。这对于想了解某个技术细节在不同版本中的实现变化非常好用。 支持函数、结构体、变量搜索。源代码中出现的这些这些信息,都可直接点击链接,后台将自动在当前版本的Linux代码中搜索到相关定义、引用。速度也非常快。 除了Linux,这个网站还能支持包括glibc、qemu、dpdk等很多其他项目代码的阅读: 用这个网站阅读源码,比在GitHub上的体验有过之而无不及。 Windows 什么?Windows也能看源码?没错是的。 在程序员中有一条鄙视链,用Linux的时常鄙视用Windows的,鄙视Windows系统不如Linux。我不太清楚这种鄙视是何时何因而起,但你若看过Windows操作系统源代码后,也一定会折服于微软工程师的编码能力和设计智慧。阅读这些优秀工程师的C代码宛如欣赏一件艺术作品般让人享受。这其中有太多的宝藏值得我们学习。 虽然,Windows操作系统属于微软商业产品,但这么多年以来,还是有非常多的人想一窥其内核的秘密,这其中就出现了源码泄露、逆向工程、官方发布等多个不同的版本。虽然有些版本已经发布多年,但底层很多实现却是一直沿用至今。 Windows NT 4.0 & Windows 2000 2004年2月,发生了一起Windows内核源码泄露事件,泄露的是Windows NT 4.0/Windows 2000源码。随后便迅速扩散,在GitHub上也多年提供下载,不过后来受到微软施压,GitHub去掉了相关的链接。 WRK 微软也还是挺大方,在2006年左右,为了让高校学生学习操作系统,基于Windows Server 2003的内核,官方发布了一个叫Windows Research Kernel的项目,简称WRK。 WRK是一个“阉割版”的Windows内核代码,去掉了Windows中的窗口实现、TCP/IP协议栈等多个功能模块。但保留了诸如进程/线程管理、内存管理、I/O管理、对象管理等重要功能,虽是“阉割版”,但仍然是非常值得一看的版本,毕竟官方发布嘛。 ReactOS 网址:https://reactos.org/ 这里的React可不是前端框架中的那个React,这是一个逆向工程中的集大成之作。 这里简单科普一下逆向工程 我们平时开发软件的过程是“正向”,即编写源代码,然后由编译器编译链接生成CPU指令,最后整合形成一个可执行文件。 逆向工程就是将上面的过程反过来,从一个可执行文件,通过分析文件中的代码指令,最后推导出原来的源代码的过程。 你可能听过逆向分析某一个程序,但你知道有人直接逆向了整个Windows操作系统吗? 注意,这里说的是整个操作系统,不仅仅是底层的Kernel内核,还包括一系列的驱动程序,以及上层的Windows服务程序、动态链接库,甚至还囊括了Windows内置的桌面explorer程序和IE浏览器等等。 ReactOS集成了一大波牛人的劳动,相当于翻版了一个Windows出来,在各种数据结构的设计上,都力求和Windows一致。以实现让Windows上的程序能在它上面也能运行无误。 这个工作量想想都大的吓人。 有趣的是,微软工程师指责ReactOS项目组人剽窃了WRK中的源代码,两者之间的论战也从未间断。 不过需要注意的是,毕竟是一个逆向出来的项目,有不少细节和Windows真实实现还是有差异的,一般在上面几个项目中找不到时,才会来参考ReactOS,有时候还需要结合比对上面几个不同版本的实现,才能熟悉彼此的差异。 源码是有了,不过这么多怎么看呢?欢迎继续关注,后续提供一些阅读方法和经验,探讨一下如何穿行在浩如烟海的源码中,不迷失方向。

优秀的个人博客,低调大师

重磅干货不容错过!2017云栖大会汇总资料,速来领取!

刚刚过去的2017年, 云栖大会先后在全国八个城市举办, 全年300余场的技术主题论坛, 涵盖人工智能、大数据、金融科技、量子计算、生命科学、IoT、政务、多媒体、VR等多个前沿科技领域。多位全球顶级学术专家,各个领域企业大咖上百创业公司分享前沿技术、实战经验和创业心得,你是否为错过这些精彩内容而懊恼?云栖社区福利大放送, 2017云栖大会全年PPT总计近800份, 及部分峰会现场视频资料, 等你来下载! 2017云栖大会·北京峰会 分论坛PPT下载 【存储与数据库专场(上)】 阿里云存储产品全系解读 ApsaraDB 产品体系解读 VERITAS + 阿里云企业混合云联合解决方案 POLARDB性能揭秘 基于英特尔®FPGA的数据分析可重构加速 解密跨地域大规模分布式文件系统 【安全专场】 政务云安全实践分享 云解析DNS在安全容灾场景下的应用分享 当可

优秀的个人博客,低调大师

不容错过的2017数据科学15大热门GitHub项目

介绍: GitHub现在不再仅仅是一个软件寄存管理器,而是软件工程师通过它来共享他们自己开发的工具/库,甚至这些资源对一些公司都很重要。作为一名狂热的数据科学爱好者,我总结了一系列在2017年尤为出名的知识库! 目录: 1.学习资源库: 1.Awesome Data Science 2.Machine Learning / Deep Learning Cheat Sheet 3.Oxford Deep Natural Language Processing Course Lectures 4.PyTorch – Tutorial 5.Resources of NIPS 2017 2.开源软件: 1.TensorFlow 2.TuriCreate – A Simplified Machine Learning Library 3.OpenPose 4.Dee

优秀的个人博客,低调大师

Android SDK 安装中组件的离线安装方法 (share)

这次安装在Android开发环境搭建及配置phoneGap中,搜到了一下资料,留个备份。 源地址:http://anlab-qiao.blog.sohu.com/190769011.html 一、迅雷下载地址 资源 https://dl-ssl.google.com/android/repository/xxx.zip , xxx用以下包替换。 API 3 android-1.5_r04-windows.zip android-1.5_r04-macosx.zip android-1.5_r04-linux.zipAPI 4 android-1.6_r03-windows.zip android-1.6_r03-linux.zip android-1.6_r03-macosx.zip API 5 android-2.0_r01-linux.zip android-2.0_r01-macosx.zip android-2.0_r01-windows.zip API 6 android-2.0.1_r01-linux.zip android-2.0.1_r01-macosx.zip android-2.0.1_r01-windows.zip API 7 android-2.1_r03-linux.zip(三种平台共用) API 8 android-2.2_r03-linux.zip(三种平台共用) API 9 android-2.3.1_r02-linux.zip(三种平台共用)API 10android-2.3.3_r02-linux.zip(三种平台共用) API 11 android-3.0_r02-linux.zip(三种平台共用)API 12 android-3.1_r03-linux.zip(三种平台共用) API 13 android-3.2_r01-linux.zip(三种平台共用) API 14 android-14_r01.zip(三种平台共用) sysimg_armv7a-14_r01.zip 2.2 Android SDK Platform-tools revision 7platform-tools_r07-windows.zip platform-tools_r07-linux.zip platform-tools_r07-macosx.ziprevision 8platform-tools_r08-windows.zip platform-tools_r08-linux.zip platform-tools_r08-macosx.zip 2.3 Android SDK Tools revision 12tools_r12-windows.zip tools_r12-linux.zip tools_r12-macosx.ziprevision 13tools_r13-windows.zip tools_r13-linux.zip tools_r13-macosx.ziprevision 14tools_r14-windows.zip tools_r14-linux.zip tools_r14-macosx.zip 2.4 Android SDK Docs for Android API X, revision Y docs-3.2_r01-linux.zip docs-14_r01.zip Android SDK Samples for Android API X, revision Ysamples-2.1_r01-linux.zip samples-2.2_r01-linux.zip samples-2.3_r01-linux.zip samples-2.3.3_r01-linux.zip samples-3.0_r01-linux.zip samples-3.1_r01-linux.zip samples-3.2_r01-linux.zip samples-14_r01.zip 二、将下载的压缩包放入temp文件夹下 例如:D:\ProgramFiles\android-sdk-windows\temp 三、点击SDK Manaer.exe,让其自动解压缩。 四、配置环境变量 PATH =D:\ProgramFiles\android-sdk-windows\tools SDK安装完成 本文转自挨踢前端博客园博客,原文链接http://www.cnblogs.com/duanhuajian/archive/2012/10/21/2732883.html如需转载请自行联系原作者 @挨踢前端

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册