windows问题集合
1.windows创建内核对象时系统会创建内核数据块,我们通过什么方式去创建,打开,操作这些数据块呢?微软是如何做的?如果是你又会如何做?(提示:内核句柄)
2.进程 发展历史(系统方面发展)
答:进程作为操作系统的基本细胞,不仅是系统内部独立运行的实体,而且是独立竞争资源的基本实体!
程序是为了完成某项任务编排的语句序列,它告诉计算机如何执行,所以程序需要执行,程序运行就要占有计算机的各种资源才能运行,如果某时刻系统中只有一道程序运行,即单道程序系统,程序则占有整个运行过程中独占计算机全部资源!如果多道程序系统,则要处理资源共享与竞争等问题。
3.windows进程是什么?提供什么?
答:程序是静态的,无法反映程序执行过程中的动态特性,而且程序在执行过程中是不断申请资源,程序为共享资源就不合适了,那么就引入进程的概念了,它能描述程序的执行过程而且可以作为共享资源的基本单位!
进程有三种状态:就绪,执行,等待!(老版系统)
就绪:存在于内存中,具备除了CPU之外的所有资源
执行:一但占有CPU就为执行状态
等待:执行过程中如需要等待外围设备输入数据,即变为等待状态! 等到数据到来时,进程由等到变为就绪状态
4.windows线程 是什么?提供哪些服务?
5.线程为什么要同步?
6.I/O同步与异步?
7.windwos不同进程之间如何共享数据和保护数据的?
(1) 剪贴板(Clip Board)
(2) 动态数据交换(Dynamic Data Exchange)
(3) 部件对象模型(Component Object Model)
(4) 文件映射(File Mapping)
(5) 邮件槽(Mail Slots)
(6) 管道(Pipes)
(7) Win32套接字(Socket)
(8) 远程过程调用(Remote Procedure Call)
(9) WM_COPYDATA消息(WM_COPYDATA Message)
8.不同进程之间如何共享内核对象?同进程中的线程(系统)又是如何做到共享内核对象的?