Author Topic: Why System Programmers Need to Know Implementation of UNIX Command Internals ?  (Read 2050 times)

wiredlife

  • Hero Member
  • *****
  • Posts: 934
    • View Profile
19 Years ago, after graduation, while facing Systems Engineer interview, I was asked how will you implement "ls" UNIX command in your own program. I'd have to use low level system calls to find out the files, access inode info and display the list.

I often wondered then why would anybody reinvent the wheel when AT&T Bell Labs scientists have done such a wonderful job. The immediate answer I then got was to test your knowledge of system calls and usage.

However, about few months ago I've been using Google / Amazon Cloud Services. On their Shell Prompt, we can actually use UNIX commands to manipulate our bucket / objects. For example, here is a command that I executed on Google Console Shell,

**********************************************************************
$gsutil rm gs://acn/datasets/travel_food*.*


Updates are available for some Cloud SDK components.  To install them,
please run:
  $ gcloud components update

Removing gs://acn/datasets/travel_food_services_chennai_private_limited.zip...
Removing gs://acn/datasets/travel_food_services_chennai_private_limited.zip...
Removing gs://acn/datasets/travel_food_services_kolkata_private_limited.zip...
Removing gs://acn/datasets/travel_food_services_kolkata_private_limited.zip...
/ [4 objects]
==> NOTE: You are performing a sequence of gsutil operations that may
run significantly faster if you instead use gsutil -m -o ... Please
see the -m section under "gsutil help options" for further information
about when gsutil -m can be advantageous.

Removing gs://acn/datasets/travel_food_services_private_limited.zip...
/ [5 objects]
Operation completed over 5 objects.
**********************************************************************

Now we all know the architecture of Cloud. It is Virtually Infinite Storage Space handled by means of buckets. Google Engineers have implemented the usage of "rm" command and also added more options to suit to their Cloud Offering so that we can get the task done in as less cpu cycles as possible.

Thanks