▁to ▁be ▁correct ▁as ▁it ▁was ▁created ▁by ▁the ▁OS ▁when ▁the ▁user ▁opened ▁the ▁file , ▁many ▁error ▁checks ▁can ▁be ▁elimin ated ▁from ▁the ▁path ▁length ▁to ▁do ▁I / O . ▁ ▁Inst ruction ▁Process ors ▁▁ ▁OS ▁ 2 2 0 0 ▁is ▁designed ▁to ▁handle ▁up ▁to ▁ 3 2 ▁instruction ▁process ors ▁( or ▁CPU s ). ▁ ▁A ▁great ▁deal ▁of ▁design ▁has ▁been ▁done ▁over ▁the ▁years ▁optimize ▁for ▁this ▁environment . ▁ ▁For ▁example , ▁OS ▁ 2 2 0 0 ▁makes ▁almost ▁no ▁use ▁of ▁critical ▁sections ▁in ▁its ▁design . ▁ ▁There ’ s ▁too ▁high ▁a ▁probability ▁of ▁multiple ▁process ors ▁executing ▁the ▁same ▁code . ▁ ▁Instead ▁it ▁uses ▁data ▁lock ing ▁on ▁the ▁fin est ▁gran ular ity ▁data ▁possible . ▁ ▁Gener ally ▁lo cks ▁deal ▁with ▁a ▁single ▁instance ▁of ▁a ▁data ▁object ▁( e . g ., ▁activity ▁control ▁structure ▁or ▁file ▁control ▁block ) ▁and ▁are ▁contained ▁within ▁the ▁data ▁structure ▁of ▁the ▁object . ▁ ▁This ▁minim izes ▁the ▁lik elihood ▁of ▁conflicts . ▁ ▁When ▁more ▁global ▁lo cks ▁have ▁to ▁be ▁set ▁as ▁when ▁updating ▁a ▁list ▁of ▁objects , ▁the ▁lock ▁is ▁set ▁only ▁as ▁long ▁as ▁it ▁takes ▁to ▁update ▁the ▁links ▁in ▁the ▁list . ▁ ▁Even ▁dispatch ing ▁is ▁done ▁with ▁separate ▁lo cks ▁for ▁different ▁priority ▁levels . ▁ ▁A ▁check ▁can ▁be ▁made ▁for ▁an ▁empty ▁priority ▁level ▁without ▁setting ▁a ▁lock . ▁ ▁The ▁lock