D.1GlossaryofTerms
AppendixD
SPRU352G–June2005–RevisedFebruary2007
Glossary
AbstractInterface—AninterfacedefinedbyaCheaderwhosefunctionsarespecifiedbyastructureof
functionpointers.Byconventiontheseinterfaceheadersbeginwiththeletter'i'andtheinterface
namebeginswith'I'.Suchaninterfaceis"abstract"because,ingeneral,manymodulesinasystem
implementthesameabstractinterface;i.e.,theinterfacedefinesabstractoperationssupportedby
manymodules.
Algorithm—Technically,analgorithmisasequenceofoperations,eachchosenfromafinitesetof
well-definedoperations(e.g.,computerinstructions),thathaltsinafinitetime,andcomputesa
mathematicalfunction.Inthecontextofthisspecification,however,weallowalgorithmstoemploy
heuristicsanddonotrequirethattheyalwaysproduceacorrectanswer.
API—AcronymforApplicationProgrammingInterfacei.e.,aspecificsetofconstants,types,variables,
andfunctionsusedtoprogrammaticallyinteractwithapieceofsoftware.
AsynchronousSystemCalls—Mostsystemcallsblock(or"suspend")thecallingthreaduntilthey
complete,andcontinueitsexecutionimmediatelyfollowingthecall.Somesystemsalsoprovide
asynchronous(ornon-blocking)formsofthesecalls;thekernelnotifiesthecallerthroughsome
kindofout-of-bandmethodwhensuchasystemcallhascompleted
Asynchronoussystemcallsaregenerallymuchharderfortheprogrammertodealwiththan
blockingcalls.Thiscomplexityisoftenoutweighedbytheperformancebenefitsforreal-time
computeintensiveapplications.
Client—Thetermclientisoftenusedtodenoteanypieceofsoftwarethatusesafunction,module,or
interface;forexample,ifthefunctiona()callsthefunctionb(),a()isaclientofb().Similarly,ifan
applicationAppusesmoduleMOD,AppisaclientofMOD.
COFF—CommonOutputFileFormat.ThefileformatofthefilesproducedbytheTIcompiler,assembler,
andlinker.
ConcreteInterface—AninterfacedefinedbyaCheaderwhosefunctionsareimplementedbyasingle
modulewithinasystem.Thisisincontrasttoanabstractinterfacewheremultiplemodulesina
systemmayimplementthesameabstractinterface.Theheaderforeverymoduledefinesa
concreteinterface.
ContextSwitch—AcontextswitchistheactionofswitchingaCPUbetweenonethreadandanother(or
transferringcontrolbetweenthem).Thismayinvolvecrossingoneormoreprotectionboundaries.
CriticalSection—Acriticalsectionofcodeisoneinwhichdatathatmaybeaccessedbyotherthreads
areinconsistent.Atahigherlevel,acriticalsectioncanbeviewedasasectionofcodeinwhicha
guaranteeyoumaketootherthreadsaboutthestateofsomedatamaynotbetrue.
Ifotherthreadscanaccessthesedataduringacriticalsection,yourprogrammaynotbehave
correctly.Thismaycauseittocrash,lockup,produceincorrectresults,ordojustaboutanyother
unpleasantthingyoucaretoimagine.
Otherthreadsaregenerallydeniedaccesstoinconsistentdataduringacriticalsection(usually
throughuseoflocks).Ifsomeofyourcriticalsectionsaretoolong,however,itmayresultinyour
codeperformingpoorly.
SPRU352G–June2005–RevisedFebruary2007Glossary85
SubmitDocumentationFeedback