Rixstep
 About | ACP | Buy Stuff | Industry Watch | Learning Curve | Newsletter | Search | Test Drive
Home » Industry Watch

Course Review, Study Questions

Pursuant to the exam a week Monday. Rush transcript.


Get It

Try It

Good morning all. So let's get right to it, OK. This is a handout. You complete it now. You can leave as soon as you're finished.

Prelim
------
You'll be asked this again at the end, but for now answer this.

Do you regard yourself as an adequate 'expert' on user interfaces?

Do you regard yourself as an adequate 'expert' on machine interfaces?

What interfaces are you responsible for when you work with the 'man-machine' paradigm?

Is it acceptable to research only from your own expectations of usability, or should you also be adept at the machine's possibilities?

Boot
----
Do you know what happens when you power-on a Mac? Can you give a short description of the sequence of events?

At what point does 'on-disk' code and data take over? Can you identify this code?

What user account is running the Mac before the first login? After logout? Between logout and login?

How often have you run dmesg? Your impressions?

Please describe the relevance of $PATH. Where does its value come from?

Is there any way to corrupt $PATH? Can this corruption be avoided? How?

What effect will $PATH have on code execution?

Can you describe the difference between a physical device and a logical volume?

What is the name of Apple's new file system?

How many volumes does a standard Mac have under root, excluding mounts under /Volumes? Can you name them and explain what they do?

Certain volumes are marked with special flags. Can you name these flags and explain their significance?

What is the meaning of the 'Hidden' file flag? The 'Restricted' file flag? What level of the system observes these flags? What does MNT_DONTBROWSE indicate? MNT_LOCAL?

What's in /.vol? In /dev? How and when is the contents of /dev created? What does it do?

Login
-----
Please name the two core frameworks of the user interface. One is abstract and one is not. Can you explain why? What is their internal relationship?

Where do you find ordinary user applications? Why? What locations are acknowledged by the system?

As some third-party software is licensed on a per-user basis, where should this software be installed? Does this cause any conflicts?

Can you briefly describe the purpose and inner workings of sudo?

What is a sudo 'grace period'?

What are 'TTY tickets'?

Please expand the acronym 'POSIX'. Who is responsible for its definition?

What is/was 'Carbon'? Does Carbon still exist on the Mac?

What is the difference between 'current user' and 'effective user'?

What is the standard numerical user ID of the first created user account on a Mac? What is the standard numerical user ID of the second?

What are the two most common user groups for the first user account?

Can the 'root account' perform everything on the Mac? Explain.

Give the names of the user:group combination 0:0.

Describe the difference between a hard link and a symbolic link (symlink). Why are hard links traditionally not allowed on directories?

The HFS Catalogue Node ID (CNID) and the Unix inode are bridged. What are they used for?

Where does Unix find information on file system allocations for a specific file?

Is a directory a file or not? Explain. Does Unix have other generic file types? Can you name them?

What is a 'whiteout'?

Unix on the Mac today has three paradigms for access control. Can you name them and rank them? What paradigm overrides what paradigm, and so forth.

Name the three types of standard Unix file permissions.

Name the three user groupings used in defining standard Unix file permissions.

Do text files on the Mac, by default, use a single-character or a double-character escape for line feeds? What character(s) is/are standard?

How does a user enable a shell script so it can be run?

How does a user mark a file so it can't be read by anyone?

Is there any point in allowing a file to be written but not read?

Is there any point in allowing a directory to be written but not read? To be read but not written? Give some examples.

What happens when you lack permission to 'run' a directory?

What is the 'sticky bit'? What is the 'set GID' bit? What is the 'set UID' bit?

How can the 'sticky bit' be used to protect directories and their contents?

How can the 'set GID' bit and the 'set UID' bit be used to enhance the user experience?

How must file permissions be set to avoid abuse of the above?

If system modules are owned and protected by root, what prevents a malicious player from replacing them with malware?

User Experience
---------------
Given standard default administration tools on the Mac, how does a user:

- Determine the presence of a 'sticky bit'? A 'set GID' bit? A 'set UID' bit? The 'executable' bit?

- Determine which user-level file flags are in play for a given file, flags such as 'No Dump', 'Immutable', 'Append', 'Opaque', 'No Unlink', 'Tracked', 'Data Vault', and 'Hidden'?

- Determine which system-level file flags are in play for a given file, flags such as 'Archived', 'Immutable', 'Append', 'Restricted', and 'No Unlink'?

What is the general caveat when setting system-level file flags? Explain the procedure to reset a system-level file flag.

Can an ordinary user set the user-level flag 'Compressed'? Explain.

What is an access control entry? What is an access control list? In the event of a conflict between a file flag and an access control entry, who wins? In the event of a conflict between either of the two above and standard file permissions, who wins?

What happens when you 'delete' a file? Explain in detail. Be very precise.

What does a zero inode value indicate?

Describe what 'spatiality' means to you personally.

A file has been written to but its inode has changed. What does that tell you?

Can the Mac file system run out of inodes? What happens then?

How many time stamps does a traditional Unix file have? How many time stamps are there today?

Are any of these time stamps immutable? Explain. Can any of these time stamps be programmatically modified? Which, in such case? Can any of these time stamps not be programmatically modified? Why not, in such case? Explain.

What is the minimum number of entries in a standard Unix directory? Can you explain their use?

Why are the inodes of the first entries in the root directory always the same?

What are 'dotted' directories? How many of these directories are found default at root on a Mac? Can you name them and describe what they do?

The root directory '.HFS+ Private Directory Data?' does not actually have a question mark ('?') at the end of its name. What does that question mark represent, and why?

The root directory '.HFS+ Private Directory Data?' still carries special data attribute fields that define its horizontal and vertical coordinates at (16384, 16384). What does that mean? Why is it used to this day?

Unix has traditionally four 'binary' directories, repositories for standard programs. Can you give the full paths for these directories? Two of those directories are primarily meant for system administration tools. Can you name them?

What is a 'daemon'? What is the difference between a 'launch daemon' and a 'launch agent'?

Can you describe the on-disk architecture of a standard Cocoa application bundle?

What text file is absolutely essential to run a Cocoa bundle application? What data is absolutely essential in that file?

What is an 'lproj' directory? How does the system choose which of these directories is to be used on any one given occasion?

Where is the default search location for Cocoa bundle resource files?

What is 'designable.nib'? Is it used by a running Cocoa application?

What is 'keyedobjects.nib'? Is it used by a running Cocoa application?

What are 'classes.nib' and 'info.nib'? Are they used by a running Cocoa application?

The file 'keyedobjects.nib' can take on another name when a project build is complete. Can you explain the new name it assumes?

Approximately how big is the current Safari application bundle? With approximately how many files?

Approximately how big is the current Finder application bundle? With approximately how many files?

Which of the above two is bigger?

Safari's 'logic' comes from the 'WebKit' module. What is the corresponding module for Finder?

Retrospect
----------
Have you ever used the NeXTSTEP OS or the OPENSTEP OS? How would you compare them with regard to file management and overall system design?

Have you ever used any of the Linux user interfaces, such as Gnome and KDE? How would you compare them with regard to file management and overall system design?

Have you ever used an IBM Unix/Linux user interface? How would you compare it with regard to file management and overall system design?

Based on your personal experience on the Mac, how would you rate the system's file management capabilities? Is there anything in particular you'd like to praise? Are there any areas for improvement, in your estimation? This information will remain confidential.

Final Thoughts
--------------
Now answer again the questions from the first 'Prelim' section.

Can you name any of the other systems certified as 'UNIX 03'? How many of them have you used? How many do you consider you 'master'?

Until a week Monday then. Thanks for today. Drive safely.

And happy holidays.

Further Reading
Industry Watch: Thanksgiving Day Remedial

About Rixstep

Stockholm/London-based Rixstep are a constellation of programmers and support staff from Radsoft Laboratories who tired of Windows vulnerabilities, Linux driver issues, and cursing x86 hardware all day long. Rixstep have many years of experience behind their efforts, with teaching and consulting credentials from the likes of British Aerospace, General Electric, Lockheed Martin, Lloyds TSB, SAAB Defence Systems, British Broadcasting Corporation, Barclays Bank, IBM, Microsoft, and Sony/Ericsson.

Rixstep and Radsoft products are or have been in use by Sweden's Royal Mail, Sony/Ericsson, the US Department of Defense, the offices of the US Supreme Court, the Government of Western Australia, the German Federal Police, Verizon Wireless, Los Alamos National Laboratory, Microsoft Corporation, the New York Times, Apple Inc, Oxford University, and hundreds of research institutes around the globe. See here.

All Content and Software Copyright © Rixstep. All Rights Reserved.

CONTACT INFO:
John Cattelin
Media Contact
contact@rixstep.com
PURCHASE INFO:
ACP/Xfile licences
User/Family/Business
http://rixstep.com/buy
About | ACP | Buy Stuff | Industry Watch | Learning Curve | Newsletter | Search | Test Drive
Copyright © Rixstep. All rights reserved.