My Assignment Help

MN404 Role of Operating Systems and Command Line Interface Assessment Answer


Assessment Details and Submission Guidelines
Unit Code
MN404– T1 2020
Unit Title
Fundamentals of Operating Systems and Programming
Assessment Type
Individual Assignment
Assessment Title
Role of Operating Systems and Command Line Interface (CLI)
Purpose of the assessment (with ULO Mapping)
This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements in them.
  1. Describe the role of Operating Systems (OS) and its different subsystems in controlling computer hardware
  2. Demonstrate competency in the use of a command line interface to
operate and perform simple OS administration
Weight
Assignment 1a - 5% Assignment 1b – 15%

Total Marks
Assignment 1a - 10 Marks Assignment 1b - 50 Marks

Word limit
Not applicable
Submission Guidelines
  • Submit Assignment 1a in a word document 
  • Submit a word document that contains the screen shots of the answers to all the questions in Assignment 1b-section2 (Unix exercises) along with the answers for questions in Assignment 1b – Section 1. 
  • The assignment must be in MS Word format, 1.5 spacing, 11-pt Calibri (Body) font and 2 cm margins on all four sides of your page with appropriate section headings.
  • Reference sources must be cited in the text of the report, and listed appropriately at the end in a reference list using IEEE Transactions on Networking referencing style.


Purpose of the Assignment

The Assignment 1 focuses on two aspects. First,the role of OS as an interface between the user and the computer hardware. Second, the use of command line interface. It helps the students to understand the different types of OS and their relative performances. Also, it assists the students to gain competency in using UNIX/LINUX commands in performing simple OS administration.

By doing this assignment, students will be able to do research and comprehend the basic and latest concepts of OS and how differently or similarly they play the interfacing role on various computing and communication devices. Also, they will appreciate the ease of using GUI over CLI.

Assignment Structure and submission guidelines

Assignment 1 being formative assessment is divided into two parts. The first part of assignment 1 focuses on the basic concepts of the current operating systems that is marked for 5% of the total marks and the second

part is an extension of first part along with understanding and implementation of Unix commands covering the remaining 15% of the total marks. 

Assignment 1 Specifications

Assignment 1a: Operating Systems (OS)(10 Marks)

The Internet of Things promises to revolutionize how we interact with computers by making embedded computation ubiquitous. New devices will be added to cities, to homes, to factories, to ourselves (inside and out), to cars, and to many other facets of life. The hope is that this influx of technology will help us solve many pressing societal issues in areas such as energy, personal health, the environment, and safety. While there are a range of challenges to enabling this scale, this assignment will focus on the OS environments running on IoT devices.

Embedded operating systems and software stacks running on embedded nodes must balance numerous challenges while effectively supporting developers and potential applications. OSes for embedded or IoT devices often operate with very different assumptions and have different constraints than desktop and server operating systems. Embedded devices often are expected to run unattended for months or years, without a user interface, on a minimal energy budget, while responding to application-specific events and using an often- unreliable wireless network interface.

In this context the research community has recognized the importance of IoT device operating systems (OSs). This OS has to have an adequate kernel, networking and real-time capability etc to make the IoT devices flexible to be used in many applications.

In first part of the Assignment 1, literature review of minimum of two journal/ conference papers (No blogs or Wikipedia to be considered) is required focussing on the following points:

  • Highlight the necessity of an OS for IoT devices.2 Marks
  • Elaborate on the essential features desired in an OS tailored for IoT devices.

For example, what features of an Operating System are important for the IoT devices to send data through internet?4 Marks

  • To provide two motivating applications highlighting the importance and justification of using IoT devices.4 Marks

The reference papers used in this assignment need to focus on the recent research (last 2-5 years), but will also include older, more foundational papers for certain topics.

Assignment 1b: IoT Operating System and Unix Scripts(50 Marks)

Section 1: 

The second Part of the assignment shall explore different IoT operating systems, their design decisions and trade-offs, and a range of requirements that are critical in the IoT space.

Students need to focus on the following aspects:

  • For one of the applications mentioned in part 1 of the assignment identify a suitable IoT OS
  • What are the parameters used for selecting a suitable IoT OS?4 Marks
  • Highlight the advantages of the suggested IoT OS with proper justifications.4 Marks
  • Describe the types of hardware platforms that this identified IoT OS may run on. 2 Marks
  • To come up with a general IoT-OS model, which consists of main features for an IoT-OS that can be used for a diverse set of applications.10 Marks
  • References and in text citations2 Marks

See the Shell Script using Unix commands below and answer accordingly

  1. Type in the above script. Try to predict the outcome before you run it and verify running the script.2 Marks

  2. Write a simple shell script that performs basic arithmetic operations (+, _, *, /)4 Marks
  3. Write a shell script that displays a list of files in current directory to which the user has read, write and execute permissions.4 Marks

Pl Note: Refer to the man command to understand the syntax and parameters for the commands that you would be using in this section

Answer

Assignment 1a: Operating Systems (OS)

MN404

Necessity of OS for IoT Devices

An embedded RTOS or real-time operating system enables data processing without any buffering delay. Hence, RTOS possesses the ability to schedule tasks, to prioritize tasks and multitask. It manages sharing of multiple resources amongst a number of tasks. These operating systems are more relevant and useful for providing needs of IoT devices used in various sophisticated and complex situations such as the aviation, heavy industries and healthcare (Jaskani, Manzoor, Amin, Asif and Irfan, 2019). The comparatively less complex and sophisticated operating systems are not far behind. Those come with extra benefits like fewer resource requirements (for example, RAM, processing power) and lesser power consumption. 

Essential Features Desired 

Primarily, an ideal OS is expected to have low requirements for memory, power and processing due to device-based constraints. For both the nodes and gateways, there must be one single OS that both developers and integrators are familiar with. OS should be portable. By using POSIX calls, an OS could be ported to various board support package (BSP) interfaces and hardware platforms. Hence, there is a facility of portable OS for isolating applications from the hardwares. It is mandatory for an OS to have a kernel core and generally supports several distinct kinds of connectivity protocols including Wi-Fi, Ethernet, IEEE, BLE, 802.15.4 and so on. Other functionalities for modularity can be used as add-ons if application requirements seem so. A suitable and smooth-running OS should be able to secure and protect IoT devices by way of boot securing, SSL supporting and securing other drivers and components through encryption (Zikria,Kim, Hahm, Afzal andAalsalem,2019). For various systems built for critical missions require certainty and reliability of performance. There are remote locations where IoT devices are used and the operating system is expected to deliver uninterrupted service without fail. Hence, OS should come with guaranteed certifications and requirement fulfilments for certain applications.

Importance and Justification

As explained by Jaskani, Manzoor, Amin, Asif and Irfan(2019), Tiny OS and Contiki OS are the top event driven models that are widely recognized. Tiny OS has already emerged as a promising and complete system that can be used for system-wide optimization using language instruments. The C programming language is supported by the Tiny OS. Its components are steered by implicit software protocols. The version 2.1 of Tiny OS has supportive TOS threads. This means if CPU is not active or in use, then the responsibility of providing CPU services explicitly is entrusted with an application. The preemptive FIFO scheduling can be used by scheduler to execute any thread or schedule as a high priority. 

Similarly, the lightweight Contiki OS is an open-source operating system specifically developed for WSN. This OS has strong and systematic tools ideal for setting up complex and broader wireless communication systems. It features lightweight network stack called Rime Network Stack that is very advantageous for various low-powered WSNs. Contiki supports several IoT equipment like sky, wismote and z1. Even on small platforms like MSP430, 8051-powered chip systems and a wide variety of ARM and AVR devices. Both of these operating systems adhere by the seven significant features namely real time capabilities, memory footprint, architectural design, hardware support, scheduler, network connectivity and energy efficiency.  

Assignment 1b: IoT Operating system and Unix scripts


Section1:

1. From the assignment 1 we have got many feedbacks about the different IOT operating systems and their need. Operations systems are required for the IOT devices for providing help in the sophisticated and complex situations. OS should have all the capability to run the IOT devices effectively. OS should be chosen according to the requirement of IOT. OS should be secure and support various protocols like Wi-Fi, Ethernet, IEEE etc. OS has to work on remote area under critical conditions so OS should be reliable.

2. TinyOS is a flexible application oriented OS, designed for sensor networks. It is open source operating system. Basically, sensor networks are combination of tiny and low power nodes and TinyOS is the best suitable option for that type of application. TinyOS fulfil all the needs of the WSN and performs best for static applications. TinyOS is better than the Contiki OS in terms of performance. It also provides large no. of components to the developers related to routing, power, storage etc.

3. These are some perimeters used for selecting a suitable IOT OS

  • Scalability: it is very important for the Operating system. OS must be scalable for any type of device. IOT devices are combination of small and large MCU. So scalable OS can run on 16 or 32 bit MCUs for future use. 
  • Connectivity: it is very essential to IOT. The OS should support all the standard network protocols like IEEE 802.15.4, Wi-Fi and Bluetooth. It must also support Ethernet for wired media. 
  • Reliability: it is very essential thing for the OS. Operating system has to work for many years without issue even in very critical situations, so OS must be reliable. It must have certification for the essential applications for better reliability.
  • Security: IOT security is very important. So, OS must have some unique and powerful authentication methods like secure boot, SSL support, DTLS, SCEP etc.  With the help of this methods OS can add security to the IOT devices.
  • Modularity: modular OS simplifies the development process. OS must support the modular functionality. Modular OS separates the kernel from the protocol and applications. All other functionality ca be added later as per requirement. 

4. Advantages 

  • It is event driven OS. It means it is related to the surrounding events. Like temperature. If temperature goes down or up from the certain point, OS will trigger an event.
  • It needs low memory for functioning. No need to buy higher memory devices for this OS. Battery density is increasing very rapidly, in that case TinyOS is very good. It also provides greater flexibility in power management.
  • The source of TinyOS is very small in size compared to other operating systems. Device work very fast due to the small code and the code of TinyOS is very well optimized for the devices. 
  • It is a flexible OS. It is very suitable OS for the flexible environment. It also supports the modularity function. All the modules of the OS work with each other effectively so that wireless device can work properly.

5. TinyOS is designed for low power wireless devices. Most of the platforms provide interfaces for UART, I2C, SPI etc. TinyOS can run on different hardware platforms like 

  • telosa-MSP430 CPU, cc2420,
  • btnode3-Atmega128L CPU and radio, 
  • epic-MSP430, cc2420
  • iris-Atmega1281 and AT86RF230 radio chip
  • z1-MSP430 CPU and CC2420 transceiver
  • mica2-Atmega128L and Chipcon 868/916 radio chip,
  • span- MSP430 CPU and CC2420 transceiver
  • mulle- Renesas M16C and AT86RF230 transceiver etc. 

6. IOT operating systems are designed to perform certain task that are related to the IOT devices. There are many features of an IoT-OS that can be used for a diverse set of applications. Some of them are:

  • Heterogeneous devices support: it is very important features of an IOT-OS. The growth of Iot with diverse set of applications are increasing day by day, in that case the feature of Heterogeneous devices support for an IOT-OS is very good. With the help of this feature IOT-OS can easily integrate without any issue.
  • Energy efficiency: it is the vital features of the IoT-OS.  Iot deployment is diverse and challenging in nature. Humongous IoT network require energy efficient OS to run on the Iot devices. This feature is very beneficial for diverse set of applications.
  • Small memory footprint: it is very crucial to optimise the module without losing its functionality. With the help of this feature an IoT-OS that can be used for a diverse set of applications.
  • Real-time capability: it is very important feature for the performing the critical task. RTOS are designed to provide the guaranteed results with the certain time limit. Therefore, this feature can be used for a diverse set of applications that require real time functionality. 
Customer Testimonials