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

Readymade versus custom-made software, READYMADE VERSUS CUSTOM-MADE SOFTWAR...

READYMADE VERSUS CUSTOM-MADE SOFTWARE Nursing care software can be in two forms. Software can be custom-made with the help of a computer programmer, suited for a client with v

With an example, Question 1 With an example, illustrate the concept of ext...

Question 1 With an example, illustrate the concept of extern variable Question 2 What is the difference between pointer variable and simple variable? Question 3 Give the

CAI, what is CAI? explain its pit falls.

what is CAI? explain its pit falls.

Computer architecture, Consider a CPU that implements two parallel fetch-ex...

Consider a CPU that implements two parallel fetch-execute pipelines for superscalar processing. Show the performance improvement over scalar pipeline processing and no-pipeline pro

Function, write a function named "location_of_largest"that takes as its arg...

write a function named "location_of_largest"that takes as its arguments the following:(1) an array of integer values

C++, whats the out put of int main(){ int n=310; funcone(n); functwo(&n); ...

whats the out put of int main(){ int n=310; funcone(n); functwo(&n); cout return 0; } void funcone(intn) n=240; } void func two(intn*) { n=120; }

Web Design Project, Hello - What is the turn around time for a 6 page websi...

Hello - What is the turn around time for a 6 page website.

Editor and assembler, Editor and Assembler:   To write a program in...

Editor and Assembler:   To write a program in any of the programming languages requires an editor.  This is  a program that is used to create text files. While saving the p

Applications software, Applications Software: General aspects on appli...

Applications Software: General aspects on applications software. Applications software is the program that allow the user to get the required work done. In other words, applic

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