TUESDAY

Copyright Dr Alan Solomon, 1986-1995

It  was  07:00:00.0;  seven o'clock precisely.  The start-up batch job
was triggered by the system, and it started the daily CPU  test.   The
optimiser dropped down into hibernation;  it had finished reorganising
the disk, and its last task was to create the log file  that  outlined
its findings and what it had changed.  Until noon, it would hibernate.

Mary woke up, and at once she knew something was  wrong.   She  wasn't
sure  what  it  was,  but she knew the feeling.  During the night, her
brain had found something missing, something she ought  to  have  done
but  hadn't, or something she had got wrong.  Now she had to hope that
it would come up from her subconscious into her waking mind; otherwise
she  would  have  to  work  out what it was.  Possibly, even, it was a
false alarm - that happened sometimes.

As she brushed her hair, she wondered if it wouldn't be easier to wear
it  short.   All  the  hassle  she  went  through,  washing, brushing,
combing, putting up;  all that would be eliminated if she changed over
to  a  short hairdo.  Her mind twitched;  something was there, but she
couldn't quite catch it.  The trouble was, if she had  it  cut  short,
maybe  there would be other problems;  maybe it wouldn't suit her, and
cutting your hair off was a one way street.  She put the  brush  down.
One  way street.  That was it.  She got the shivery feeling that meant
that she was close.

The alarm went off, and she looked up.  Damn,  it  was  getting  late;
George was giving her a lift, so she'd better be ready.

George  fought down unworthy thoughts as he drove along.  It was wrong
of him to be pleased that Mary's car had been stolen, but how could he
be  anything  else  ?   Fifteen  minutes  alone  with her, guaranteed.
Opportunities to talk about the cinema, about walks  in  the  country,
about picnics on the grass.  Bliss.

He  walked  up  to  the  front  door  and  rang the bell.  Mary yelled
"Coming", and soon  the  door  opened.   George's  tongue  immediately
turned  to  wood,  and  he  spent the next fifteen minutes desperately
trying to think of something to say.

Mary wished that George would  stop  chattering  for  a  few  minutes;
something  was  flickering  at  the back of her mind, and if she could
bring it out, it would save her a lot of work.  George fell silent  as
he  negotiated  a  tricky bit of the one way system, and Mary suddenly
felt like someone had hit her with a brick.  One way system - yes,  of
course.   It  was a one way system, you could go forward but not back.
One the files had been moved forward through  the system upgrade, they
wouldn't  be  properly  indexed under the old system, so just changing
system disks wouldn't do.  George started chattering again,  but  Mary
didn't  hear.   What you'd need, is some way of converting the indices
back again;  a downgrade, as it were.  "Mary".   "MARY".   She  looked
up.  "We're here".

Ron  looked up as George sat down opposite him.  "Purchase ledger", he
grunted, and returned to what he was doing.  George wondered  what  he
meant.   He  thought  of asking him, but decided that he didn't need a
stream of sarcasm this early  in  the  day.   Ron  had  gone  back  to
fiddling  around  with  his  plastic  flowcharting  template, probably
cooking up some monstrosity that George  would  be  expected  to  make
sense  of.   What  on earth was the point of all those silly diagrams;
why didn't he do some real programming work instead of leaving it  all
to  George  ?   He thought of four witty things he should have said to
Mary, and sighed.

Ron looked up.  George was staring vacantly  into  space  again;   why
wasn't  he  getting  on  with  the  Purchase ledger ?  He wondered how
incompetent someone had to be before you could sack them.   Certainly,
the  way George turned his elegantly structured designs into spaghetti
code made him think it would be quicker to write the code himself, and
certainly safer.  "Purchase ledger", he repeated, forcefully, pointing
vigorously at the pile of papers on George's desk.  "Has to go live in
three weeks time.  Get on with it."

Mike  pushed  the button.  The machine hummed for a while, gurgled and
spluttered coffee into a plastic cup.  As he sipped it,  he  gazed  at
Mary,  who  seemed to be working ridiculously hard at this time of the
morning.  He considered going over for a chat, but decided  that  he'd
probably get his head bitten off.

Jim  unlocked  the  machine room door.  Everything looked OK as he sat
down at the system console, and turned it  on.   The  temperature  and
humidity  charts  showed that nothing untoward had happened overnight.
He printed out the log;  the line printer remained  silent.   He  went
over  to  it  and  turned it on, and it hummed, burped, and burst into
life.  He tore off the printout and studied it.

Mary's  detached  process was still consuming a lot of overnight time,
but as it didn't seem to be  affecting  the  daytime  load,  that  was
alright.  George still seemed to be using the compiler as a substitute
for checking his own work;  lots of programmers did that  these  days.
Not like when he was a lad.  24 hour turnaround meant that you checked
everything  very  carefully  before  submitting  a  job.    All   this
interactive  stuff  made  programmers  sloppy, and was one of the main
reasons why so much machine time got wasted.  He vaguely thought about
having  a  word with George, but Ron would blow up if he tried to tell
George how to use the machine.  And if he spoke to Ron about it,  he'd
just  use  it  as  another excuse to pick on George.  Poor old George,
what with Ron on his back all the time, the Purchase  Ledger  disaster
to  live  down,  and this thing with Mary.  He wondered whether George
had taken his advice about that.  Probably not, too nervous.

Mary looked up as the coffee machine gurgled.   Suddenly,  she  had  a
craving for caffeine.  She went over, and watched as Sally filled up a
second cup.  "Thinks I'm his tealady", she grumbled.   "Sends  me  all
the  way  up  here  to get his coffee, twice a day." "Isn't it awful",
Mary said automatically.  "Yes, and now he  wants  proper  china,  not
these plastic cups." "Oh dear", said Mary.

Mary pressed the button for black coffee, and waited while the machine
gurgled.  "I'm not his skivvy", moaned Sally.  "I'm supposed to  be  a
secretary."  "Oh,  I  know",  said  Mary,  consciously imitating Sybil
Fawlty.  "Up and down all day long".  "I know".  "Don't even have time
to  get  my  work  done.  Have you any idea what his handwriting looks
like ?" "I know".  Mary wondered how to exit gracefully.  "And then he
gets  at  me  when I can't make out what he's written".  "Oh, I know".
What would Sybil have done ?  "What's your boss's handwriting like  ?"

Mary  thought  briefly about explaining to Sally what her job actually
was.  "I'm a programmer", she  said.   "Oh",  said  Sally,  impressed.
"You  type  in  everyone's  programs  ?"  Mary decided it would be too
complicated to explain that she actually understood the system  better
than  anyone  else in the building.  "Sort of", she said, ambiguously,
and went back to her desk.

She'd reached a problem.  None of the manuals explained how the  files
were indexed.  File indexation was obviously such an intrinsic part of
the operating system, the manufacturer felt  that  no-one  would  ever
need  to  know  how it was done, and would always ask the OS to access
files.  Mary needed to know how the indexation  worked,  so  that  she
could  write  a file converter, in case it was necessary to go back to
the old system.  But the necessary information was not in any  of  the
manuals.   Mary  decided  that  she needed to phone the hotline;  they
were always able to give her hard data.

"Hello,  Simon",  she  said  to  her usual hotline contact.  "Hi Mary,
how's the Optimiser going?".  Simon  was  very  interested  in  Mary's
Optimiser.  Lots of systems programmers tried to optimise parts of the
OS, but only Mary had written a program that systematically  tried  to
re-write  any  parts that most needed optimising.  Mary told him about
the way the Optimiser was developing, and told him  about  her  latest
plan  to  have  the  Optimiser  rewrite  bits of itself.  Simon's mind
boggled as he tried to imagine the effect of a  program  that  rewrote
its  environment,  and at the same time rewrote itself.  "How will you
know what it's doing  ?",  he  asked.   "Eventually,  you  won't  know
exactly  what  the  optimiser does, or even the OS!".  "That's right",
agreed Mary, "But can you put your hand on your heart and say that you
know  exactly  what  any  OS  is  doing?"  "Theoretically, yes, but in
practice, no", Simon agreed.

Mary explained why she needed to know how the OS indexes files.  Simon
sounded  very  dubious.   "I  don't think we can support an OS upgrade
done that way", he said.  Mary found this a bit worrying.   Simon  was
effectively  saying  that  if  they  used Mary's method to upgrade the
system, if anything went wrong then or later, they'd be on their  own.
This  is  the  worst  thing  that  could  happen, as it means that the
manufacturer would disclaim all responsibility for any problems.

Mary knew that she'd have to talk Simon out of this attitude.  "Simon,
you know the problem of upgrades.  They're never as straightforward as
they seem.  If my second disk trick works, you'll be able  to  use  it
everywhere.   It'll  save  people  all  sorts  of  problems,  and make
upgrading your systems easier everywhere." Simon agreed.  "Yes, but if
we  let  you  do  all  sorts of non-standard things and it goes wrong,
we'll have to come and sort out the mess.   And  our  reputation  will
suffer.   Anyhow,  Mary, it's no use talking to me - it's my boss that
you'll have to convince." Mary thought  for  a  moment.   She  got  on
alright  with  Richard,  in  fact  she  suspected that he fancied her.
"Could I come down tomorrow and talk  to  you  both?   This  thing  is
getting urgent." "Good idea", said Simon.

Mary  went  to  get herself a cup of coffee.  As she went, she thought
about the problem of persuading Richard to support her  way  of  doing
the  upgrade.   He  absolutely  had  to be on side.  But is was in his
interest to find a better way to upgrade the system;  surely  everyone
had the same problems.

Mary's phone rang.  "Could you come round and see me, Mary" said John.
She'd forgotten all about him - presumably he wanted  to  discuss  her
method for upgrading.  She took her coffee into his office.

"Mary,  we've decided to do the upgrade over the Bank holiday weekend.
Would you be willing to work then ?  Most people will have to say yes.
We'll need to do it that way to minimise disruption to the users."

Mary  was puzzled.  "But there won't be any disruption.  They log off,
and log on again five minutes later." Now John was puzzled.  "Don't be
silly, Mary, it takes hours and hours to do an upgrade."

Mary  realized  that  John probably hadn't read her memo.  "If you use
the  idea  I  suggested  yesterday,  you  can  have  almost  no   user
disruption.   All  we  need  to  do is to build the system on an extra
disk." John remembered the memo, and also  the  reason  why  iwouldn't
work.  "We can't do it that way, Mary," he explained patiently, "there
isn't enough space in the machine  room  for  an  extra  drive."  Mary
realized  that  he  hadn't  thought  of  stacking drives.  But by now,
John's short attention span seemed to be exhausted.   "But,  but  ..."
she  said,  trying  to get him listening again.  John looked up;  Mary
seemed to be trying to say something.  "We can stack the drives on top
of  each  other.  All it needs is a stacking cradle, and we can put an
extra drive in temporarily." John turned to Jim.  "Is that feasible ?"
Jim  thought  about  a  disk  drive,  spinning at 5000 revolutions per
minute, balanced precariously on another drive.  The whole thing would
vibrate, and probably shake the top one onto the floor.  Exit one very
expensive disk drive, together with heaven knows what other damage.

"I  don't  think  it's  on",  said  Jim,  in  a  masterly   piece   of
understatement.  "Why not ?" asked Mary.  Jim explained his misgivings
about balancing vibrating drives on top of each other, but Mary drew a
sketch  of  a  cradle that would hold the top drive firmly.  Jim still
looked doubtful, but admitted that if it were  designed  properly,  it
might  work.   Mary pulled out her trump card.  "If the people we hire
the disk from approve, then it must be alright, as they wouldn't  risk
their  drive  if  they  had  any doubts!" "Have they approved ?" asked
John.  "No," said Mary, "but that's only because we haven't approached
them yet.  We have to get some approval here first."

John  realized  what  she  meant.   Hiring the second drive would cost
money that wasn't in his budget.  He'd have to go to Parritt,  cap  in
hand, and Parritt wouldn't make asking for money easy.  "Leave that to
me," John said.  "Are you sure that it's technically  feasible  to  do
the  upgrade this way ?" "Yes, quite sure", said Mary, who wasn't sure
at all.  "There are just a few problems to be solved, but I'm  working
on  those  now."  "What  do  the vendors say ?", asked Jim, who rather
suspected  that  they  would  refuse  to  allow  such  an   unorthodox
maneuver.   "I'm going to talk to them tomorrow," answered Mary, which
evaded Jim's question neatly.  "No-one's ever done it this way before,
have  they  ?", asked Jim.  "That doesn't mean to say that no-one ever
should.  I'll go and talk to Paritt this afternoon", said John.

The meeting broke up.  Jim chatted  with  Mary  as  they  left  John's
office.   "It's a neat idea, but aren't there rather a lot of problems
that still need solving ?", said Jim.  "Yes, in fact  even  more  than
you  think.  But I'll probably find a way round them." "Probably?  You
were quite definite just a moment ago." "Yes, but that was just to get
John  fired  up.   Don't worry, if I don't have then all solved by the
time we have to commit ourselves, I'll say so.  And this really is the
only way we stand a chance of doing the upgrade smoothly."

John  sat in Parritt's office, sipping insipid coffee.  He'd explained
about the need to upgrade  the  operating  system,  and  about  Mary's
clever idea for doing it with minimum disruption.  For a while, it had
seemed as if Parritt was actually taking it all in.  Then had come the
devastating  question.   "What  exactly is an OS ?".  "OS is short for
Operating System".  "But what exactly is an Operating System ?"

It was a bit like asking a fish exactly what water was.   The  OS,  in
many  ways,  was  the  computer.   Any time anyone interacted with the
machine, he was actually talking to the OS, which then interpreted the
request  for  the  computer.   "The  OS  controls the system services,
allocating machine resources between tasks", John began.  Parritt held
up  a  hand.   "I  don't  understand.  What exactly is an OS ?".  John
tried again.  "The OS is a machine  code  routine  that  intermediates
beween the kernel and the user shell." Again Parritt held up his hand.
"could you put it in plain English ?", he asked.  John was  baffled  -
he  was  using  plain English.  How simple should he get ?  "Computers
use a binary language of 0s and 1s.  The commands that we give it have
to  be  translated  into that code." He stopped, to see if Parritt was
following.

Parritt was following only too  well.   Why  couldn't  these  computer
boffins  explain  things  in ordinary words ?  And why did they always
retreat to a totally  irrelevant  explanation  of  the  binary  system
whenever  they  were  pressed  ?  "Binary I understand", said Parritt,
"and I know about compiling, interpreting and machine  code.   What  I
want explaining is, what is an OS, and why is it so important ?"

John  thought for a few moments.  What exactly is an OS ?  Now he came
to think about it, he  wasn't  sure.   The  thing  that  you  actually
interacted  with  was  the CLI (Command Language Interpreter).  The OS
itself was really the province of the systems programmer.  "Mary's our
real expert in OSs;  I'll get her to explain it.  What I really wanted
to talk about was the idea for upgrading the system without the  users
suffering   any   inconvenience."   Parritt   liked  the  idea  of  no
inconvenience, but had the feeling that there would be some  price  to
pay.  He was right.  "We'll need to hire a disk drive for a few weeks,
and make some small alterations in the machine room.  But I don't have
any  budget  for  it.   " "And you want my department to pay for it ?"
"The problem is that  I  can't.   Without  a  contribution  from  your
department,  we'll  have  to  do  it  the  orthodox  way, with all the
disruption that that could entail."

Parritt had vivid memories of  the  great  Purchase  Ledger  disaster.
"I'll  see  if  I  can  help.  How much budget are we talking about ?"
"About three thousand pounds.  I'll get a more exact estimate for  you
soon."

John  left  Parritt's  office, feeling for the first time as if he had
dealt successfully with his most important user.  Parritt  closed  his
eyes  as  he left, and wondered yet once more whether they couldn't go
back to a manual system of doing the accounts  -  the  extra  manpower
needed  could come from the money saved by sacking the entire computer
department.  But he knew that the Board  would  never  take  the  idea
seriously.  Sigh.

As  John  passed  Mary's  desk,  he told her that she'd have to go and
explain about computers to Parritt.  "What ?", Mary said.   "He  wants
to know all about Operating Systems and upgrades", said John.  "Go and
talk to him now."

Mary brushed her hair back, and knocked  timidly  on  Parritt's  door.
"Come"  boomed  a  big voice.  She went in.  Across an acre of carpet,
she saw a vast desk, with an extremely important man behind it.

Terrified,  she  walked  forward.   "I'm  Mary  Timford,  the  systems
programmer", she said.  Suddenly, the idea of balancing one disk drive
on  top  of  another  seemed incredibly stupid.  Parritt smiled.  "You
must be the lady that John says knows all about the computer.  He said
you'd explain all about what an operating system was."

Mary opened her mouth, but nothing came  out.   She'd  been  ready  to
explain how her way of upgrading the system could save time and money,
and here she was being asked noddy questions.  "The  operating  system
is  the  thing  between the programmers and the computer.  Programmers
don't need to learn how disk drives or tape drives work, all they have
to  learn  is  how  to tell the system to write data, and that's quite
easy.  If it weren't for the OS, they'd have to get involved with  the
intricacies of each different device."

Parritt  grunted and nodded.  Mary, encouraged, went on.  "If you want
a column of numbers added up, you just tell someone to  do  it  -  you
don't  have  to  concern yourself with exactly how it's done.  All you
need to know is the word 'ADD'.   Likewise,  the  guy  that  does  the
actual  adding,  doesn't need to know how a desk calculator works, all
he needs to know is which is the + key.   This  is  called  a  layered
system;   each  level doesn't need to know the complexities of the one
beneath it.  Our OS shields us from the  complexities  of  writing  to
disk, using the printer, handling terminals and so on."

"So what's wrong with the old system, and why do we need a new one ?",
asked Parritt.  "There's nothing wrong with the old  one,  but  it  is
quite  old,  and  the  new  system  has  been  written  to take better
advantage of the hardware that is available.  The net effect  is  that
programs  will  seem  to  run  faster,  and  the computer will be less
overloaded."

"So why  haven't  we  upgraded  before  ?"  asked  Parritt.   "Because
changing  the  system  is  such  a major hassle.  It can take weeks of
work, and users can be seriously inconvenienced.  We  like  to  do  it
over a weekend, at least.  And if we run into insuperable problems, we
might find that we have to go back to the old system rather than leave
the users without anything;  that would be a real nightmare.  You only
upgrade the system when you absolutely have to."

Parritt wondered why  John  didn't  know  all  this;   it  all  seemed
perfectly straightforward.  "Couldn't we stay with the old system, but
improve it?"

"Yes, we could, and that is what we've been doing  for  the  last  few
years.  In fact, my job is all about doing this tuning and patching of
the OS.  I've developed lots of things that speed up operations, and I
think that we'd be overloaded by now if I hadn't.  But eventually, you
have to stop patching the blanket, because it is  all  patches  -  you
have to buy a new, fluffier blanket."

Parritt  wondered why the other DP people pretended that it was all so
incomprehensible.  "What happens if the computer gets overloaded ?"

"Then it thrashes.  It tries to give some time to  each  job,  but  it
spends  more  time  going from one job to another than in doing useful
work." Parritt nodded - he'd had that happen to him, some  days.   Not
much useful work get done, and the computer suddenly gets very slow to
do anything.  We've been fairly close to that point several  times  in
the  last few months, and we've got to do something before it actually
happens.  We could add more memory, and  replace  the  processor  with
something  more  powerful,  but that would cost a lot of money, and we
don't think that it's necessary.  Anyway, the old OS couldn't handle a
new  processor nearly as well as the new OS, so we'd be putting in the
new system anyway."

"I don't understand why we  temporarily  want  an  extra  disk  drive,
though." "The idea is that we load the new system up on the spare disk
drive, and do all our messing around on that.  Then when we're  ready,
we  just  flick  a  switch, and the new OS takes over.  And if we find
that something doesn't work, we can just flick back to the old system,
still  on  the  old  disk  drive,  and  the  users  won't be too badly
affected.  We can then fix  whatever's  wrong,  and  try  the  new  OS
again."

Parritt  was  impressed.   "It sounds like a good idea.  Are there any
problems in doing it ?" Mary thought that the truth would be the  best
idea.  "Yes there are problems, because no-one's ever done it this way
before.  But I think I can solve them,  and  if  I  get  the  vendor's
co-operation, it'll all work just fine."

Parritt was impressed with Mary's confidence;  she obviously knew what
she was doing, and was the best judge of what was feasible.  "Keep  me
in touch with how it's going, would you?" Mary's blood froze;  "Yes of
course" she said.  Dammit, she  thought,  how  do  I  get  into  these
things?  She'd just been asked to tell Parritt if her superior started
to make a mess of things, and she'd agreed to  do  it.   Now  she  was
caught  in  the  middle  between  Parritt and John Mortimer, the worst
thing that could have happened.  Why hadn't she seen this coming?  How
could  she  get  out of it ?  "I'll make sure you get copied in on the
progress reports", she said.  Would that do the trick ?  As far as she
knew,  there wouldn't be any progress reports, but if there were, John
would write them, and she'd be in the clear.

Parritt had played this game before - he could see what  Mary  was  up
to,  and  he  could  sympathise  with  her position.  But the computer
system was far too important to him to let Mortimer mess it  up  -  he
wanted  an early warning in case things were going wrong.  "I tell you
what.  Once a week, say Friday at three, you  come  and  explain  more
about the computer to me.  It's time I took more of an interest in our
primary working tool."

Mary thought about that.  She couldn't see  anything  wrong  with  it,
except that it would waste an hour of her time.  It would mean that if
anything was going badly wrong, she could drop a  suitable  hint,  and
otherwise,  could  just  chat  about  the  hardware,  the  OS  and the
software.  "Friday at three it is then", she said.  It  looked  as  if
she'd been dismissed, so she left.

Back  at  her  desk,  she  found a note.  "See me JM", it said, so she
trotted round to Mortimer.  He looked up.  "How  did  your  discussion
with  Parritt  go  ?"  he  said.  Mary knew that this was important to
John.  "OK, I explained what the OS does, and why we need  to  upgrade
it.   He  wants  me  to  go see him again next Friday, to explain some
more." John relaxed.  He'd been afraid that Mary would  either  freeze
up totally, or else alienate Parritt.  Now it looked like the old goat
wanted to spend time listening to her voice;  as  long  as  he  stayed
happy.   "Can  you spare the time ?" he asked.  Mary knew this gambit.
If you answered yes, you obviously had spare time, and so you  weren't
working   hard   enough.    If   you   answered  no,  you  were  being
unco-operative.  She also knew the standard counter  to  it.   "No,  I
haven't  really  got the time, but if you tell me I should do it, I'll
drop something else with a lower priority." John always like  his  fur
to  be stroked, and he responded in the predictable way.  He pretended
to think about it for a short while, then said judiciously "Yes,  user
education is quite important.  But don't spend more than about an hour
on it."

Mary looked at her watch.  "I'll be  off  tomorrow,  to  talk  to  the
Vendor about this upgrade.  See you Thursday." "Give them my regards",
said John.

Mary went back to her desk, via George.  "I won't be  needing  a  lift
tomorrow,  George, I'm off visiting the Vendor." Ron looked up.  "What
about ?", he asked.  Mary didn't want another hassle with Ron.   "John
sent  me  to  talk to them about the system upgrade";  this was only a
slight exaggeration.

George  felt depressed.  Mary could easily have told him what this was
all about, but hadn't.  Had she  found  some  problem  that  even  she
couldn't solve?  Surely not.  Could she be checking on the feasibility
of the whole scheme?  Did that mean that she had doubts?  Suddenly  he
realised  the enormity of what she was proposing.  It was nothing less
than a complete departure from the normal way  of  doing  an  upgrade!
Could even Mary bring it off?