找到 1282 篇文章 关于 MCA

什么是默认信号处理程序?

Arnab Chakraborty
更新于 2019年10月17日 09:00:01

1K+ 次查看

信号是发送到程序的软件中断,用于指示发生了重要事件。信号可以通过以下两种可能的处理程序之一进行处理:默认信号处理程序用户定义的信号处理程序默认信号处理程序与内核在处理该信号时运行的每个信号相关联。脚本或程序在收到信号时执行的操作称为默认操作。默认信号处理程序处理这些类型的不同默认操作。一些可能的默认操作是 -终止进程。忽略信号。转储核心。它创建一个名为 core 的文件,其中包含... 阅读更多

什么是用户定义的信号处理程序?

Arnab Chakraborty
更新于 2020年1月31日 11:05:12

913 次查看

信号是发送到程序的软件中断,用于指示发生了重要事件。信号可以通过以下两种可能的处理程序之一进行处理:默认信号处理程序用户定义的信号处理程序用户定义的信号处理程序可以覆盖称为处理信号的默认操作。信号以不同的方式处理。一些信号(例如更改窗口大小)被简单地忽略;其他信号(例如非法内存访问)通过终止程序来处理。信号处理程序函数可以具有任何名称,但必须具有返回类型 void 并且具有一个 int 参数。示例 - ... 阅读更多

信号和信号处理

Arnab Chakraborty
更新于 2019年10月17日 08:55:35

4K+ 次查看

信号是发送到程序的软件中断,用于指示发生了重要事件。这些事件可以从用户请求到非法内存访问错误不等。一些信号,例如中断信号,表明用户已要求程序执行一些不在通常控制流程中的操作。根据信号的来源和原因,信号可以是同步的或异步的。所有信号,无论同步还是异步,都遵循相同的模式 -特定事件的发生会生成一个信号。接下来,信号被传递... 阅读更多

隐式线程和基于语言的线程

Arnab Chakraborty
更新于 2019年10月17日 08:46:49

3K+ 次查看

隐式线程解决这些困难并更好地支持多线程应用程序设计的一种方法是将线程的创建和管理从应用程序开发人员转移到编译器和运行时库。这被称为隐式线程,是当今的一种流行趋势。隐式线程主要是使用库或其他语言支持来隐藏线程的管理。在 C 的上下文中,最常见的隐式线程库是 OpenMP。OpenMP 是一组编译器指令以及用于用 C、C++ 或 FORTRAN 编写的程序的 API,它为共享内存环境中的并行编程提供支持。OpenMP 识别... 阅读更多

C 程序中的 Windows 线程 API

Arnab Chakraborty
更新于 2019年10月16日 10:39:12

2K+ 次查看

线程是在 Windows API 中使用 CreateThread() 函数创建的,并且 - 就像在 Pthreads 中一样 - 一组属性(如安全信息、堆栈大小和线程标志)被传递给此函数。在下面的程序中,我们使用这些属性的默认值。(默认值不会最初将线程设置为挂起状态,而是使其有资格由 CPU 调度程序运行。)一旦创建了求和线程,父线程必须等待它完成才能输出 Sum 的值,因为该值由... 阅读更多

使用 Pthreads API 进行多线程

Arnab Chakraborty
更新于 2019年10月16日 08:36:40

2K+ 次查看

Pthreads 指的是定义线程创建和同步 API 的 POSIX 标准 (IEEE 1003.1c),它是一个线程行为规范,而不是实现。操作系统设计人员可以根据自己的意愿以任何方式实现此规范。下面显示的 C 程序演示了用于构建计算非负整数在单独线程中求和的多线程程序的基本 Pthreads API。单独的线程在 Pthreads 程序中的指定函数中开始执行。在下面的程序中,这是 runner() 函数。当程序开始时,一个单独的控制线程在 main() 中开始。main() ... 阅读更多

多核系统中的编程挑战

Arnab Chakraborty
更新于 2019年10月16日 08:29:58

1K+ 次查看

向多核系统的趋势继续给系统设计人员和应用程序程序员带来压力,要求他们创建更高效地使用多个计算内核的方法。操作系统的设计人员应该编写使用多个进程内核的编程算法,以允许下图所示的并行执行 -图:多核系统上的并行执行对于应用程序程序员来说,挑战在于将其样式切换为新的多线程新程序的现有程序。通常,在多核系统编程中存在 5 个方面的挑战 -识别任务 - 这涉及检查应用程序以查找可以划分为单独的区域,... 阅读更多

内核在内核级线程之间进行上下文切换时采取的操作。

Arnab Chakraborty
更新于 2019年10月16日 08:28:43

2K+ 次查看

上下文切换涉及存储进程或线程的上下文或状态,以便在需要时可以重新加载它,并且可以从与之前相同的点恢复执行。这是多任务操作系统的功能,允许单个 CPU 由多个进程共享。内核在内核级线程之间进行上下文切换时采取的操作是 -在内核线程之间进行上下文切换通常需要保存要切换出的线程的 CPU 寄存器的值,并恢复要调度的新的线程的 CPU 寄存器。

内核在进程之间进行上下文切换时采取的操作

Arnab Chakraborty
更新于 2019年10月16日 08:26:51

8K+ 次查看

内核在进程之间进行上下文切换时采取的操作是 -响应时钟中断,操作系统必须保存当前正在执行的进程的 PC 和用户堆栈指针,并将控制权转移到内核时钟中断处理程序保存其余寄存器以及其他机器状态(例如浮点寄存器的状态)在进程 PCB 中由时钟中断处理程序完成。操作系统调用调度程序以确定要执行的下一个进程。然后,操作系统从其 PCB 中检索下一个进程的状态并恢复寄存器。 ... 阅读更多

高级本地过程调用 (ALPC)

Arnab Chakraborty
更新于 2019年10月16日 08:24:50

2K+ 次查看

高级本地过程调用 (ALPC) 是一种消息传递机制。服务器进程发布了一个全局可见的连接端口对象。当客户端需要子系统或服务的服务时,它会打开到服务器的连接端口对象的句柄,并将连接请求发送到该端口。服务器创建了一个通道并返回一个句柄给客户端。该通道包含一对私有通信端口:一个用于客户端到服务器的消息,另一个用于服务器到客户端的消息。通信通道支持回调机制,因此客户端和服务器可以在通常预期时接受请求... 阅读更多

广告