2010年12月19日

用户态和核心态的转换

摘要: 用户态和内核态的转换1)用户态切换到内核态的3种方式 a. 系统调用 这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作,比如前例中fork()实际上就是执行了一个创建新进程的系统调用。而系统调用的机制其核心还是使用了操作系统为用户特别开放的一个中断来实现,例如Linux的int 80h中断。系统调用实质上是一个中断,而汇编指令int 就可以实现用户态向内核态切换,iret实现内核态向用户态切换 b. 异常 当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到 阅读全文

posted @ 2010-12-19 19:34 阿杜的世界 阅读(714) 评论(0) 推荐(0)

数据库课程设计心得【4】---触发器

摘要: 利用触发器实现级联删除有两个表一个是教师表,一个是教师的开课情况表,实现当删除教师的记录时,自动将该教师的开课情况的记录删除在定义数据库关系时,要注意以下设置,我还没找到原因,但是这样设置肯定没问题附图:删除规则和更新规则原来都是无操作,现在我将之选为层叠。触发器代码1如下:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: 阿杜-- Create date: 2010-12-19-- Description: 实现教师开课情况的级联删除. 阅读全文

posted @ 2010-12-19 18:31 阿杜的世界 阅读(225) 评论(0) 推荐(0)

进程原理篇

摘要: 第4、5章读书笔记计算机科学是人造科学,进程是为了什么而产生?并发。 为什么要并发:提高处理机利用效率,提高系统吞吐量。 因为要并发,我们发明了进程,又进一步发明了线程。只不过进程和线程的并发层次不同:进程属于在处理器这一层上提供并发的抽象;线程属于在进程这个层次上再提供一层并发的抽象。如果我们进入计算机体系结构里,发现流水线技术是提供了硬件级别的并发。这样,流水线、线程、进程就从低到高提供了我们需要的并发。 进程的分身术——线程。进程在物理上仍然是顺序执行的,在逻辑上是多道并发的。一个进程在一个时间只能做一件事,有时为了完成复杂的使命,需要实现同时干不同的事,于是有了线程。 阅读全文

posted @ 2010-12-19 15:21 阿杜的世界 阅读(139) 评论(0) 推荐(0)

存储过程的优缺点

摘要: 在性能方面,存储过程的 优点 : 1、预编译,存储过程预先编译好放在数据库内,减少编译语句所花的时间。 2、缓存,编译好的存储过程会进入缓存,所以对于经常执行的存储过程,除了第一次执行外,其他次执行的速度会有明显提高。 3、减少网络传输,特别对于处理一些数据的存储过程,不必像直接用sql语句实现那样多次传送数据到客户端。 4、更好的利用服务器内存,特别对于处理中间数据量不大的情况,存储过程中可以利用存放在内存的表变量。5.可维护性高,更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。6.代码精简一致,一个存储过程可以用于应用程序代码的不同位置。7.更好的版本控制,通过使用 M 阅读全文

posted @ 2010-12-19 15:08 阿杜的世界 阅读(138) 评论(0) 推荐(0)

数据库课程设计心得【3】---存储过程的运用

摘要: TextBox4.Text = Calendar1.SelectedDate.ToString(); decimal iRet; //获取连接数据库的字符串并赋值给CM_ConnectionString string CM_ConnectionString = ConfigurationManager.ConnectionStrings["myDatabaseConnection"].ToString(); //创建数据库连接 SqlConnection CM_conn = new SqlConnection(... 阅读全文

posted @ 2010-12-19 14:58 阿杜的世界 阅读(277) 评论(0) 推荐(0)

导航