Windows interprocess communication
Interprocess communication is a set of mechanism used to exchange data among multiple threads in a single or more processes. IPC are categorized into four methods namely; message passing, synchronization, shared memory and remote procedure calls. The method of IPC used may change according to the bandwidth and latency of communication between threads and the type of data communicated.
IPC is provided because of a host of reasons. Information sharing, computational speedup, modularity and convenience are some of the reasons. In memory-mapped IPC a file is mapped to RAM and can be altered by changing memory address directly without outputting to a stream. The file will have the same benefits as a standard file.
Synchronization and state in computing refers to security practice of configuring associated parameters or firewalls to achieve high levels of security. For instance in order to configure state synchronization between two firewalls, you can enable state synchronization in the given network by choosing reliable network compressed or Unreliable from State synchronization drop down menu. Reliable Delta Compressed and Unreliable are the only Network Views currently supported.
REENTRANCY
This is a term used to used to describe the ability of a computer program or subroutine to be interrupted in the middle of execution and be safely called upon again before its previous invocation complete execution. The cause of reentrancy could be an external action such as hardware or signal interrupt or an internal action such as a jump or call.
In programming, reentrant functions or pure code are falsely though of as code that does not modify itself. Thus programmers feel that by avoiding the self-modifying code, their routines will be reentrant and interrupt-safe.
Reentrancy was invented for mainframes when memory was as valuable. System administrators realized that numerous identical copies of few big programs are available in the computer’s memory array at any time and thus, many users could be running the code from the same set of addresses. Reentrancy state requires that a subroutine to satisfy the following conditions;
- The instructions in the program never modifies itself
- Any variable altered by the routine must be allocated to a\ particular instance of the functions invocation.
- It does not use the hardware in a non-atomic way
Asynchronous safe code refers to functions that can be called safely and without side effects from within the handler context. In simple terms, it must be able to be interrupted at any point to run linearly out of sequence without initiating a inconsistent state. Also it must function properly when global data might not be in an inconsistent state. Example of asynchronous safe operations include; call the signal() function to reinstall a signal handler.
STARVATION AND DEADLOCK
Deadlock is defined as a combination of two or more processes that request resources and enter into waiting state if the resources are not available at the moment. In some instances, the waiting process is kept in that mode for infinity because another process is holding on to the requested resources.
Starvation occurs when one or more threads in the program are blocked from gaining resources and as a result, cannot make a progress. Deadlock is the ultimate form of starvation where two or more threads are waiting for a condition that cannot be satisfied.
SYSTEM V PROCESS
A system is a set of readily understood adaptable and integrated activities that came up with ongoing and consistent results.
A process is a series of arranged activities that give the end result. In programming context, it is an executing program. One or more threads run in the context of the process.
Windows process
These are the processes executed by single or multiple threads in the windows operating system. Windows process can take place in a series of coordinated states. For instance, the first step involve the creation of the process. It is loaded from secondary memory into the main memory. A scheduler does a context switch and loads the process into processor. A resource is then allocated and it executes. Finally, it terminates.
VULNERABILITIES WITH IPC
Vulnerabilities are hindrances that occur in interprocess communication and subsequently reduce speed and performance. Different IPC architectures present different vulnerabilities. Examples include L4 and EROS.
SIGNAL
It is a programming language involving synchronized data flow. The process sets up equations on elementary flows describing both data and control. Signal provides the functionality to describe systems with several clocks for instance polychromous systems.
THREADS
Pthreads are C language programming types and call procedures implemented using a pthread.h header/include and has a thread library libc.
Pthreads is a routine that executes functions in a process. For instance create () creates a new thread within a process. Pthreads are used to gain potential program performance.
Windows API is Microsoft set of application programming interfaces in the Microsoft OS.
Thread vulnerabilities are the security issues and concerns that arise in formation, and execution of threads in an operating system.
References
Ciampa, M. D., 2011. Security+ Guide to Network Security Fundamentals. s.l.:Cengage Learning.
Mansfield-Devine, S., 2011. DDoS: threats and mitigation. Network Security. s.l.:Springer .
Wang, K.-c. C.-p., 2010. Information systems resources and information security. s.l.:Springer Science.