Newbie to Newbie (CPT307 - Interactive Assignment 1)

Java is an object-oriented programming language or OOP for short.  An object can represent anything in the real world, including a person, a kitchen utensil, or a city. Using an OOP like Java allows developers the ability to utilize the four major principles of object-oriented programming, which are encapsulation, abstraction, inheritance, and polymorphism.  Encapsulation asserts that the state of an object can only be obtained or changed through the exposed methods of an object.  Abstraction is similar to encapsulation and represents the critical elements of an object that differentiate it from other objects.  Inheritance allows an object to utilize attributes from another object.  Finally, polymorphism allows a single class to be either override or overloaded within the code to provide a different result that is appropriate based on the object.

When first approaching Java, the correct Java Development Kit (JDK) needs to be downloaded from a trusted source.  There are two primary JDK available.  One is provided by Oracle, who owns and manages Java, and the other is an open-source version called OpenJDK. Due to recent licensing changes from Oracle, please ensure that you will comply with the license before using it.  The license details can be found at https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html.  For personal education, either edition should be fine.  The following installation video on youtube.com provides information on the download and installation of OpenJDK:



https://www.youtube.com/watch?v=lvGFOeMWt98  

OS Theory Concept Map [CPT304 - Final Project]

Operating System Features
A contemporary operating system provides a platform for programs to execute, called program execution, and interact with hardware resources, called I/O Operation (Silberschatz et al., 2014). The operating system also provides a user interface. In delivering these core features, a contemporary operating system has six other functions. These functions are file system manipulation, communication, error detection, resource allocation, accounting, and protection and security (Silberschatz et al., 2014). The features and functions of an operating system are seen in the below diagram.


These functions are implemented through operating system subsystems and system programs. For a complete review of the operating systems, functions, and implementations, see the Section 1 concept map.