1. Process Management – an operating system manages various activities which include system and user programs. The system programs include file servers, name servers, printer spoolers, among others. In process management, an operating system performs the following activities:
i. Process communication mechanisms
ii. Process synchronization mechanisms
iii. Deadlock handling mechanisms
iv. Both the creation and deletion of system and user processes
v. Both the suspension and the resumption of processes.
2. Memory Management: - the main activities of an OS here include
i. Allocation and de-allocation of memory space
ii. Decision making on the processes to be loaded in the memory when there is availability of memory space.
iii. Keeping of proper track on the part of the memory that is used and the user of such memory.
3. File Management: - activities of the operating system in regard to file management include:
i. Creation and deletion of both files and directories
ii. Manipulation of both files and directories
iii. Mapping of files onto the secondary storage devices.
iv. File back-up on stable means of storage
4. Input/output System Management: - an operating system selects and manages both the input and output devices.
Machine Independent Programming Language
A machine independent programming language is a language that is used in a similar manner despite the machine it is used. It is a language that is not dependent on the computer characteristics. A program written in an independent language is usually compiled to a standard bytecode which can be run by any machine. An example is a java program which is run using the Java virtual machine (JVM). JVM is available for any machine. Other languages like COmmon Business-Orientated Language (COBAL) and FORmula TRANslator (FORTRAN) are also machine independent.
Client/Server Model
It is a structure of distributed application and it partitions workloads or tasks between the servers (service providers) and the clients (service requestors). A server machine acts as the host and it shares its resources with the clients. A client only requests for a server’s service and doesn’t share its resources. Activities like database access, email exchange, and web access runs on a client-server model. The interaction of the server and the client is described by sequence diagram. An example is given below. Client/server model for an email.
Public-key Encryption
Considered here are the aspects of security in messaging, digital signatures, authentication, and electronic money, among others. The message is the cleartext or plaintext. Encryption is the process of encoding the message contents in a manner that hides the contents to the outsiders and the resulting encrypted message is the ciphertext. Decryption is the retrieving of plaintext from ciphertext. Both the encryption and decryption employ the use of keys. For decryption to be performed, one must know the proper key. The main aim is to keep the message secrete.
The public-key encryption or the asymmetric cipher allows the encryption key to be public. Anyone is free to encrypt with this key. However, only the decryption key (private key) can be used to decrypt the message. This ensures that the message can only be retrieved by the principles of Public-Key Encryption:
Individuals or participants create their own key pair i.e. (email address) and the password.
One key (password) is kept secret. This is the private key.
The other key (email address or ) is given to anybody who may be interested in sending a message. This is the public key.
Individuals collect the public keys (email addresses) of those whom they may send secure emails.
Only the receiver with the secret key (password) can read the message.