Know the stuff from the last exam.  There will not be any questions on this exam that are exclusively about the material from the last one, but there may well be questions that ask you to related the new material and the old.

 

Contention

Deadlock

            Be able to construct, identify deadlock from two processes

            Know the three conditions necessary for deadlock (sufficient?)

            Cannot predict and avoid

            Cannot (perfectly) detect or resolve.

            Can prevent absolutely by denying one of three conditions (but at what cost?)

            Can reduce by good  programming practices (what practices?)

                        Use as few unsharable resources as possible

                        Do not overlap use of unsharables more than necessary

            Can recover from deadlock-caused losses by good programming practices

                        Logs

                        Rollbacks

                        BACKUPS!!!

            Can prevent with test_and_set – cooperation between system and good,

conscientious, knowledgeable programmers

Lost update

            Be able to construct, identify lost update from two processes

            Locking

            Granularity

Be particularly clear about the difference between lost update and deadlock – they’re related but very different.  Both caused by two processes that share resources (broadly defined) but one results in loss of data (often without any sign that it has happened) and one results in loss of use of resources and lockup of processes, and is usually VERY obvious.

 

Photoshop

            Layers

            What are GIF and JPEG

            What is an animated GIF

Flash

            Layers

            What is tweening

            What are vector graphics, what’s their relation to bitmap/raster graphics