-
Unix进程:
Unix把进程分成两大类:
一类是系统进程,另一类是用户进程。系统进程执行操作系统程序,提供系统功能,工作于核心态。用户进程执行用户程序,在操作系统的管理和控制下执行,工作于用户态。进程在不同的状态下执行时拥有不同的权力。
在Unix系统中进程由三部分组成,分别是进程控制块、正文段和数据段。Unix系统中把进程控制块分成proc结构和user结构两部分。proc存放的是系统经常要查询和修改的信息,需要快速访问,因此常将其装入内存 -
关于中断机制:
1、利用中断功能,处理器可以在I/O操作的执行过程中执行其它指令
2、中断处理中,需要保护被中断进程的所有状态信息
3、处理多个中断有两种方法:一种方法是正在处理一个中断时,禁止再发生中断;另一种方法是允许高优先级的中断打断低优先级的中断处理程序的执行
4、如果是因为进程调度引起的中断,那么被中断的进程会被放入就绪队列里面排队,所以在中断处理程序执行完成之后被中断的进程不一定立即获得CPU的控制权、恢复执行 -
Object类
这种类型的题一般考察点有两个:
1.Object中没有hasNext() 方式,这个方法是迭代器中的
2.Object没有copy方法,但是有clone()方法, 用于创建并返回该对象的一个副本
-
触发器:
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
不会触发触发器的包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
对对象可添加互斥锁的关键字是:synchronize
-
并发与并行:
并发是宏观上并行,微观上串行。 -
java一些关键字
synchronize, volatile,serialize,static,finalize
synchronized 关键字 : 用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这个段代码。
**volatile:**用来确保将变量的跟新操作通知到其他线程,当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。然而,在访问volatile变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此volatile变量是一种比 synchronized关键字更轻量级的同步机制。
serialize: Java 对象序列化为二进制文件。
static关键字: static关键字可以修饰变量,方法,静态代码块。
静态变量:
由static修饰的变量称为静态变量
静态变量属于类,而不属于某个对象
静态变量它的副本只有一个(静态变量在类中只加载一次)
静态方法:
在静态方法中只能调用静态变量和静态方法
在非静态方法中,可以调用静态方法或者变量。
在静态方法中不能使用this和super关键字。
静态代码块
作用:用来给静态成员变量初始化
finalize方法
该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。
码是唯一标识实体的属性或者属性组
关于现代操作系统的基本特征: ( 并发性)是指两个或者两个以上的进程在执行时间上有重叠,即一个进程的第一个操作在另一个进程的最后一个操作完成之前开始。
- 单道批与多道批 分时与实时
单道批处理相比于最初的人工阶段增加了作业说明书等东西,但本质上是一个程序的顺序执行
多道批处理把io时间用来执行cpu操作,实现并发,宏观上同时执行
分时系统、实时系统都是多道批处理系统的进一步发展,自然也支持同时执行
分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。在一台机器上表现为处理器在一个时间内只处理一个进程或程序,不同时进行多任务处理。
实时操作系统则为同时可以进行多个任务的处理,即多个进程可以在同一时间段进行,共同利用CPU和内存。
批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。
-
死锁出现的条件
产生死锁的两个原因:竞争资源,进程间推进顺序非法。
产生死锁的四个必要条件:
预防死锁的一些方法:资源静态分配法
对于死锁的预防(deadlock prevention):死锁产生时,产生死