相关内容

Linux 中断处理浅析
关于调度上面的流程中, 还隐含了一个问题,整个处理过程是持续占有cpu的(除了开中断情况下可能被新的中断打断以外). 并且, 中断处理的这几个阶段中, 程序不能够让出cpu! 这是由内核的设计决定的,中断服务程序没有自己的task结构(即操作系统教科书上说的进程控制块),所以它不能被内核调度. 通常说一个进程让出cpu, 在...
程序设计的5个底层逻辑,决定你能走多快
} nptl和 java 的线程模型按照教科书的定义,进程是资源管理的最小单位,而线程是 cpu 调度执行的最小单位,线程的出现是为了减少进程的上下文切换(线程的上下文切换比进程小很多),以及更好适配多核心 cpu 环境,例如一个进程下多个线程可以分别在不同的 cpu 上执行,而多线程的支持,既可以放在linux内核实现,也...

Linux fork那些隐藏的开销
fork是一个拥有50年历史的陈年系统调用,它是一个传奇! 时至今日,它依旧灿烂。 一个程序员可以永远不用readwrite,也可以不懂mmap,但必须懂fork。 这是一种格调! fork没有参数,它是如此简单,是unix哲学的布道者或者说卫道者们的首选,它被写进了几乎每一本操作系统教科书里,成了 创建新进程的绝佳范式 ...
给你一个完整高效的linux系统
但真相是:我一直在逃避畏惧linux的事实,在我的认知中,这不是一个可以使用的操作系统,而是一个用来学习的,就好像中学的教科书一样,只要记,划重点...继上篇上次文章讲了为什么程序员要会linux,承蒙厚爱,有不少同学感兴趣。 此篇分享我学习linux的辛酸史,并分享我的linux系统环境包,可支持一键导入安装...
Linux内核调度分析(进程调度)
本文是《linux内核设计与实现》第四章的阅读笔记,代码则是摘自最新的4.6版本linux源码(github),转载请注明出处。 多任务并发和并行linux作为一个多任务操作系统,必须支持程序的并发执行。 分类非抢占式多任务除非任务自己结束,否则将会一直执行。 抢占式多任务(linux)这种情况下,由调度程序来决定什么时候停止...
程序员技术练级攻略
学习教科书里数据库设计的那几个范式,1nf,2nf,3nf,... 学习数据库的存过,触发器,视图,建索引,游标等。 学习sql语句,明白表连接的各种概念(参看...对于程序员来说unixlinux比windows简单多了。 (参看我四年前csdn的博文《其实unix很简单》)学会使用unixlinux你会发现图形界面在某些时候实在是太难用了...

说真的,前端对Linux需要了解到什么程度?
专栏会以案例驱动的思路,给你讲解linux性能的基本指标、工具,以及相应的观测、分析和调优方法,不会像教科书那样,详细教你操作系统、算法原理、网络...网上的资料和书籍可以扩充底层知识体系,从虚拟化的原理、到操作系统和网络原理、再到linux内核和硬件驱动程序等等。 但是linux性能优化是个系统工程...

这些年,安放在我工位上的那些书
个人评价:这本书对于学习linux基础知识非常有帮助,既可以当成教科书也可以当成工具,很多服务是运行在linux这类操作系统之中的,学习一些linux知识是很有必要的。 比如vim,makefile, 常用的linux命令,脚本编写等等知识点。 虽然次数的名字不是像类似“深入浅出****”,“深入理解*****”等那么高大上一些...

宋宝华:那些年你误会的Linux DMA(关于Linux DMA ZONE和API最透彻的一篇)
如果外设是个加速器,利用sva,它可以访问到进程虚拟地址空间的数据进行运算,减少了很多不必要的互动,可以极大地提升系统性能。 最后总结一句,千万不要被教科书和各种网上的资料懵逼了双眼,你一定要真正自己探索和搞清楚事情的本源。 (完)...
【收藏转发】从串口驱动到Linux驱动,嵌入式入门必备!
这个在一些经典的操作系统教科书中已经作了说明。 我们仅需知道。 它和我们熟知的windows系列操作系统一样。 都是一种现代操作系统。 对底层的计算机资源进行抽象。 对上层用户提供调用接口。 完成计算机应该完成的功能。 b、关于可移植性可移植性指与软件从某一环境转移到另一环境下的难易程度。 为获得较高的可移植...
程序员最佳书籍(2020终极列表)
数据结构和算法第一:编程语言在本节中,我将介绍与基本编程概念和特定编程语言相关的书籍。 我选择了行业中使用最广泛的编程语言,这些语言不是特定于领域的。 01 编程概念 ? 《计算机程序的结构和解释》(在业界也称为sicp)是一本经典的书,它教编程的基础知识。 该教科书是麻省理工学院编程课程的入门课程。 尽管...
Mac OS X 背后的故事(上)
而关闭一个窗口的含意也不该是关闭一个程序,而只应是结束目前的内容。 apple 的许多设计都格外具有魄力,完全重写了界面设计的教科书。 当然,有许多地方...并把 linux 作为服务跑在 mach 上。 这个系统就是 mklinux,我们在后续的连载中还会提到这个系统,因为它不但对 linux 的移植性作出了重要的贡献...
程序员成长路上常见的坑(2)
真要学习软件工程,不太适合从抽象层次很高的教科书开始,而适合从《代码大全》这样与实际关联比较紧密的书籍开始。 在国内软件工程的落地似乎始终困难...这点上要感谢开源项目给我们提供了这么多优秀程序。 但要谨防好高骛远,动辄挑战linux内核,精读是关键。 累积一定的代码量,比如:独立的完整做过一个...

程序猿必须知道的一些有用的网站
学习 java 的一本线上教科书bill venners所著java虚拟机内幕的免费线上章节理解jvm 内部垃圾收集如何作用欢迎来到 javaworld.comjava内存模型netbeans ...来自终身程序员的编程者头条教训programming principles:程序设计原理与模式分类综述what every computer science major should know:良好编程的原则how ...

毕业3年同样是java程序员,为何技术能力相差越来越大?
今天我们来探讨下,如何避免让战术上的勤奋掩盖战略上的懒惰,使得真正掌握好的知识点慢慢生长,连接,最终组成一张大网。 写在前面高考的时候大家都是一样的教科书,同一个教室,同样的老师辅导,时间精力基本差不多,可是最后别人考的是清华、北大或者一本,而有些童鞋的实力只能考个三本,这是为什么? 关键问题点...
iOS中的预编译指令的初步探究
教科书上怎么说? 可以被计算机执行,那神马东西会被人执行的呢? 老婆的命令、老爸的呵斥、项目经理的需求变更... 我们都会执行,貌似这就是人的程序了...比较取值嘛,任何一本入门级别的c程序设计上都会有讲啊,于是我们可以很快写出我们的第一个版本:version 1.0#define min(a,b) a < b ? a : btry一下int a...

想学编程并不难 这样做就可以了
对于大多数人来说,编写自己感兴趣或者能够真正投入使用的程序要比照着教科书上的案列来做有趣得多。 那么,你不妨利用搜索引擎来搜寻自己感兴趣的项目...不论你是想自己设计游戏,还是开发iphone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。 编程语言种类繁多,用途各 异,然而一旦...
程序猿必须知道的一些有用的(外国)网站
学习 java 的一本线上教科书bill venners所著java虚拟机内幕的免费线上章节理解jvm 内部垃圾收集如何作用欢迎来到 javaworld.comjava内存模型netbeans ...来自终身程序员的编程者头条教训programming principles :程序设计原理与模式分类综述what every computer science major should know :良好编程的原则how...
左耳朵耗子:技术人如何更好地把控发展趋势?
这里面的关键词是基础、底层原理、自动化,这些东西是我们科技工作者或者程序员的技术特征,跟前文的分析是一致的。 9和10是能够在该技术领域出本书,到理论级了,并和标准委员会的人一起工作,了解相关的标准和方法经典的书,不是随便写的书,至少要像tcpip级别,或者像linux高级编程,这种经典图书或者是教科书...