16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

OS<br />

PD<br />

Core-Tier2:<br />

• Articulate the need for protection and security in an OS (cross-reference<br />

IAS/Security Architecture and Systems Administration/Investigating Operating<br />

Systems Security for various systems).<br />

• Summarize the features and limitations of an operating system used to provide<br />

protection and security (cross-reference IAS/Security Architecture and Systems<br />

Administration).<br />

• Explain the mechanisms available in an OS to control access to resources (crossreference<br />

IAS/Security Architecture and Systems Administration/Access<br />

Control/Configuring systems to operate securely as an IT system).<br />

• Carry out simple system administration tasks according to a security policy, for<br />

example, creating accounts, setting permissions, applying patches, and arranging<br />

for regular backups (cross-reference IAS/Security Architecture and Systems<br />

Administration).<br />

Core-Tier1:<br />

• Distinguish using computational resources for a faster answer from managing<br />

efficient access to a shared resource.<br />

• Distinguish multiple sufficient programming constructs for synchronization that<br />

may be inter-implementable but have complementary advantages.<br />

• Distinguish data races from higher level races.<br />

• Explain why synchronization is necessary in a specific parallel program.<br />

• Use mutual exclusion to avoid a given race condition.<br />

• Explain the differences between shared and distributed memory.<br />

Core-Tier2:<br />

• Identify opportunities to partition a serial program into independent parallel<br />

modules.<br />

• Write a correct and scalable parallel algorithm.<br />

• Parallelize an algorithm by applying task-based decomposition.<br />

• Parallelize an algorithm by applying data-parallel decomposition.<br />

• Write a program using actors and/or reactive processes.<br />

• Give an example of an ordering of accesses among concurrent activities (eg,<br />

program with a data race) that is not sequentially consistent.<br />

• Give an example of a scenario in which blocking message sends can deadlock.<br />

• Explain when and why multicast or event-based messaging can be preferable to<br />

alternatives.<br />

• Write a program that correctly terminates when all of a set of concurrent tasks<br />

have completed.<br />

• Use a properly synchronized queue to buffer data passed among activities.<br />

• Explain why checks for preconditions, and actions based on these checks, must<br />

share the same unit of atomicity to be effective.<br />

• Write a test program that can reveal a concurrent programming error, for<br />

example, missing an update when two activities both try to increment a variable.<br />

- 219 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!