HASHING, Security, Efficiency

You may have heard of hash functions, perhaps in data structures.

A hash function is any function that can be used to map data of arbitrary size to fixed-size values, though there are some hash functions that support variable length output.[1] The values returned by a hash function are called hash values, hash codes, digests, or simply hashes. The values are usually used to index a fixed-size table called a hash table. Use of a hash function to index a hash table is called hashing or scatter storage addressing.
Hash functions and their associated hash tables are used in data storage and retrieval applications to access data in a small and nearly constant time per retrieval. 
https://en.wikipedia.org/wiki/Hash_function

Did you catch that?  Storage and retrieval in nearly constant time.  That’s good.
A well-designed hash table scatters the values relatively evenly over the hash table.
This makes for efficient storage and retrieval for an OS.

Passwords are sometimes hashed for security purposes.
Hash functions are usually one way or trap door functions;
That is, you cannot take the result of a hash function, and get back to the original data.
(See Encryption, yet to come)
Some hashing algorithms are also used to generate pseudo-random numbers.

Simple example of hash function:
Given the time of an event:
(can be clock ticks since system turned on, or whatever)
Take that time, modulus table size
That gives you an entry into the table, 
And events are evenly distributed throughout the table.

[You have to have a way to handle the case when two events are mapped to the same table entry;
This is called a collision.]
https://en.wikipedia.org/wiki/Hash_collision

Identify three kinds of data an Operating system may need to store and retrieve efficiently.

Why is hashing considered efficient?

Why is it good when a hash function distributed evenly over the hash table?

Review the article on hashing, and explain what that makes you think of in terms of operating systems.