笔试刷题知识点记录(1)

来源:互联网 发布:入库单打印软件 编辑:程序博客网 时间:2024/06/05 08:13

进程与应用程序的区别:

进程(Process)是最初定义在Unix等多用户、多任务操作系统环境下用于表示应用程序在内存环境中基本执行单元的概念。以Unix操作系统为例,进程是Unix操作系统环境中的基本成分、是系统资源分配的基本单位。Unix操作系统中完成的几乎所有用户管理和资源分配等工作都是通过操作系统对应用程序进程的控制来实现的。

C、C++、Java等语言编写的源程序经相应的编译器编译成可执行文件后,提交给计算机处理器运行。这时,处在可执行状态中的应用程序称为进程。从用户角度来看,进程是应用程序的一个执行过程。从操作系统核心角度来看,进程代表的是操作系统分配的内存、CPU时间片等资源的基本单位,是为正在运行的程序提供的运行环境。进程与应用程序的区别在于应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由操作系统维护的系统资源管理实体。

多任务环境下应用程序进程的主要特点包括:

●进程在执行过程中有内存单元的初始入口点,并且进程存活过程中始终拥有独立的内存地址空间;

●进程的生存期状态包括创建、就绪、运行、阻塞和死亡等类型;

●从应用程序进程在执行过程中向CPU发出的运行指令形式不同,可以将进程的状态分为用户态和核心态。处于用户态下的进程执行的是应用程序指令、处于核心态下的应用程序进程执行的是操作系统指令。

在Unix操作系统启动过程中,系统自动创建swapper、init等系统进程,用于管理内存资源以及对用户进程进行调度等。在Unix环境下无论是由操作系统创建的进程还要由应用程序执行创建的进程,均拥有唯一的进程标识(PID)。

进程与线程:

A 一个进程至少有一个线程,线程作为调度的基本单位。 
B 线程共享父进程申请到的内存空间,但并不代表,共享父进程的栈空间。线程作为调度的基本单位,如果共享父进程的栈空间,线程的局部变量的保存丧失独立性,线程间的独立也就无法保证。 
事实上,每一个线程都有自己的栈,当调用CreateThread时,如果传入参数cbStackSize为非0值,函数会为线程栈预订空间并为之调拨所需要的所有存储空间,系统会保证所分配的栈空间足够可用。 
C 线程必须从属于一个进程,并且是不可变更的。 故C选项正确。 
D 线程被创建后,其从属的进程是确定不变的。 

POP3和SMTP:

SMTP 采用“推”的通信方式,在用户代理向邮件服务器及邮件服务器之间发送邮件时, SMTP 客户主动将邮件“推”送到 SMTP 服务器。而 POP3 采用“拉”的通信方式,当用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件。

原创粉丝点击