Identify the critical races, computer science, Basic Computer Science

Assignment Help:
1. The standard way for debuggers to plant breakpoints in a program in RAM (whatever the processor instruction set) is to save the breakpointed instruction and replace it by a jump to the breakpoint handling code. After the breakpoint is triggered, the saved instruction is restored in its original place. If the interactive dialogue with the debugger during the breakpoint indicates that that the triggered breakpoint is to be removed, execution of the program can be resumed simply by jumping to the instruction that had been breakponted. However, if the dialogue with the debugger indicates that the breakpoint is to remain in place when execution of the program is resumed, implementation is more complicated. Execution of the saved instruction could be emulated, but this is difficult to do, ensuring all side effects such as condition code setting and exception triggering are performed correctly, as well as following all addressing modes, such as PC relative. It is much easier simply to execute the breakpointed instruction in place, but to plant another breakpoint on a subsequent instruction in the same basic block, usually the immediate successor to the original breakpoint, so that the breakpoint handler can regain control in order to replant the original breakpoint and remove the secondary one. This obviously has some challenges if the successor of the breakpointed instruction cannot be statically predicted, for instance if the breakpointed instruction is a conditional jump, but a common solution is simply to ban breakpointing such instructions.
Identify the critical races that exist with this scheme if the program is executed by multiple threads, possibly multiple cores or multiple processors. Use pseudo-code to illustrate how you would resolve these issues.

Related Discussions:- Identify the critical races, computer science

Cathode ray tube monitors, Cathode Ray Tube Monitors (CRT): Monitors d...

Cathode Ray Tube Monitors (CRT): Monitors display what is going on in your computer. They can run at various resolutions. It is the part of computer which looks like a TV set.

Convert string to super ascii, A string S is said to be "Super ASCII", if i...

A string S is said to be "Super ASCII", if it contains the character frequency equal to their ascii values. String will contain only lower case alphabets (''''''''a''''''''-'''''''

Python Identifiers, A Python identifier is a name used for classify a funct...

A Python identifier is a name used for classify a function, variable, class, module or any other object. An identifier begins with a letter A to Z or a to z or an underscore (_) fo

Functions, each of the following functions has the form f(x ) = (ax+b) mod ...

each of the following functions has the form f(x ) = (ax+b) mod n. assume that each function has type N base n arrow N base n, so that we can think of f as a cipher for an alphabet

Statistics, Scores from a statistics exam are reported as deviation scores....

Scores from a statistics exam are reported as deviation scores. Which of the following deviation scores indicates a higher position in the class distribution?

Object oriented programming, Write a method called Grade that takes a numer...

Write a method called Grade that takes a numeric score and returns a letter grade. Use the rule that 90 to100 is an A, 80 to 89 a B, 60 to 79 is a C, 45 to 59 is a D, and less th

Definition of algorithm , Definition of  Algorithm  An algorithm is a ...

Definition of  Algorithm  An algorithm is a design or plan of obtaining a solution to a problem. The solution is presented by listing all steps in which they are carried out.

Describe 3 components of a pattern, QUESTION (a) Compare the adapter pa...

QUESTION (a) Compare the adapter pattern with the façade and decorator patterns. (b) Illustrate a two-way adapter pattern. (c) Describe 3 components of a pattern. (d)

Concept of operating system, Concept of operating system: An operating...

Concept of operating system: An operating system is an essential software component of a computer system. The basic  objectives of an operating system are to make the computer

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd