Enjoy Upto 50% off on all Your Assignments ORDER NOW
Download Free Sample Order New Solution

Concepts of OS

1. What are the different parts or managers of an Operating System? Describe the list of steps that happen when one word file is opened by an operating system.

An operating system is made up of different parts that each carry out specific tasks. Although the majority of operating systems have different physical structures, logically, individuals share many of the same parts. Each element of a system should be a clearly defined part that aptly represents the features, inputs, and output values [5]. The eight elements of an OS are as follows:

  • Process Management
  • I/O Device Management
  • File Management
  • Network Management
  • Main Memory Management
  • Secondary Storage Management
  • Security Management
  • Command Interpreter System

Whenever an application requests the kernel to load a file, virtually every operating system will carry out the following fundamental tasks:

  1. The implementation problems a system call called "open" well with title "path to a file" as well as (possibly) the demanded resources section of "read" or "write".
  2. The process enters the kernel as a trap.
  3. The kernel starts the path title lookup process for the requested file, that also entails traversing the filesystem tree and addressing thus every path element. For instance, the filesystem looks directly /doo/ dra/abz.txt first looks for doo then dra. Finally, it looks inside of /doo/dar for the file abz.txt. At any point, the system call aborts and returns a defect to user-space if a route element is missing.
  4. The kernel contrasts the special rights of the procedure as well as the file . Has the process been granted access towards this folder in the demanded mode? In that case, the system call fails and returns an error.
  5. Now that the kernel has gained access to the file, it must acquire a mention to the set point in a language it can understand, in addition to the document's human-readable title. For each filesystem, this varies. abz .txt is largely just an entrance in a desk that converts odd names to inode figures on Unix-style file servers. Inodes are all on computational models that include all of a file's communications data in addition to references to the data-containing disk blocks themselves.
  6. The kernel acquires a mention to the inode on its own using the inode amount (or its comparable in the filesystem). Now that the file is accessible. This reference contains an object in a contemporary kernel with a VFS that corresponds standard operations like read file as well as start writing file towards the filesystem's execution.
  7. Based on the operating system, per-process sheet may also be referred to as the file system table as well as file array and stores the allusion to the inode. On Unix-like processes, the hold or indicator through into table is a straightforward integer recognized as a digital repository, and it is used by the procedure to manage this same file.
  8. The kernel gives the operation the handle.
  9. The procedure then makes use of this handle to navigate to the file in the future[9].

2. Research the internet to find the evolution of following Operating Systems and also discuss one platform for each of them.

Linux

A Unix-like (OS) for computer systems, data centres, supercomputers, portable devices, as well as embedded systems, Linux is open - source software and user-developed. Being one of the widely accepted operating systems, it is backed on almost all popular computing platforms, which include x86, ARM, as well as SPARC. Each Linux OS version controls hardware, starts and manages programs, and offers an interface in certain way. Thanks to the sizable planning profession, the variation of distribution options, and the fact that Linux has pervaded many areas of computing, there exists a Linux model available for just about every task.

For example, Linux has gained popularity as an OS for operating mobile devices with OS versions like Android, managing networks, performing compute-intensive tasks that require large compute cluster centre, operating databases, and also more [9].

  • A broad range of use case scenarios are supported by the Linux OS, which is widely utilised. The following are some Linux implementations:
  • Server OS for any type of shared hosting, such as web servers, database systems, data centres, private emails, etc. Linux was designed to support high-volume as well as multi-threaded applications, making it the perfect platform for all types of application servers.
  • Desktop OS for calculating for productivity and better. Linux is an open-source desktop atmosphere which is free to use for customers who favour it to commercial OSs.
  • Headless data centre OS for devices that do not need a graphic user interface (GUI) or a keypad and port that are physically attached. For remote location-controlled networking servers and other gadgets, headless systems are usually used.
  • OS for embedded devices or appliances, which are used in systems with fewer computing requirements. Home appliances, car infotainment systems, as well as network system files gadgets all use Linux as the embedded OS.
  • Network operating systems for switching devices, routers, home networking equipment, DNS servers, as well as much more. For instance, Cisco provides a Linux-based edition of the Cisco Internetwork Operating System (IOS).
  • Operating system for developing enterprise applications. Linux is residence to a number of the most popular open-source software development techniques, in spite of that, many of them have indeed been shifted to Windows or also other OSs. Examples include compilers as well as interpreters almost for all computer languages, git for dispersed version control systems, vim, as well as emacs for version control editing, and much more.
  • An operating system for clouds. For servers, computers, as well as other services, significant cloud services provide direct exposure to Linux-based cloud computing situations[7].

As Linux is easily customisable and is created with the help of modules. Linux can indeed be improved for a range of functions based on the application that includes: networking achievement, computation achievement, distribution on particular hardware platforms, as well as implementation on systems with constrained memory, storage, as well as computing resources.

Users can customize a particular Linux distribution to include particular kernel configurations, or they can select various Linux distributions for variety of applications[6].

Windows

Version 1.0 was the initial relaunch from Microsoft. It became usable with Windows for both private and professional use on Nov 10th, 1983. Afterward, it became accessible on a variety of Windows versions, the more recently Windows 10[3].

In 1993, NT 3.1, the very first version of Windows oriented forward into companies, was released. After which, Windows 3.5, Windows 4/0, and Windows 2000 were made available. The multiple Windows XP editions that were released in 2001 were designed for both a residence as well as an office environment. It was developed using typical x86 hardware, including AMD and Intel processors. As an outcome, it can run on hardware made by different companies, including HP, Dell, Sony, as well as home-built PCs. This same Windows operating system was made by Microsoft. Users only have access to a computer because of the operating system. Since it comes preloaded just on majority of brand-new desktops and laptops, Windows is currently the most commonly used operating system worldwide (DCs). Windows has gone through many iterations since that time, but the most widely used versions are Windows 10 (delivered in 2015), Windows 8, Windows 7, Windows Vista, and Windows XP (2001)[10].

Other names for Windows Professional include Window Pro and Win Pro. Power users as well as small to medium-sized businesses will benefit from this improved version of Windows. Along with all of Windows Home's characteristics, it also provides the following:

  • Remote Desktop: Desktop Professional versions let users establish a connection for a remote desktop. It gives users the choice to attach remote locations with some other computer as well as share its pointer, keyboard, as well as viewing display. The major port used to access it's indeed 3389. We could also establish a remote desktop link using the TeamViewer or VNC software.
  • Trusted Boot: It offers security by encryption the boot loader as well as guarding against rootkits for the desktop 
  • Bitlocker: This program uses the AES (Advanced Encryption Standard) algorithm to enable the students to authenticate a storage device. Windows 7 as well as Windows Vista (just ultimate as well as enterprise editions), as well as Windows Server 2008, both have this characteristic. The Bitlocker function is primarily used by business computers and laptops to safeguard their information. It is very challenging to crack the Bitlocker password, making it seem as though the desktop has indeed been thieved. Just by using the right password it will be decrypted. Moreover, users cannot recover the Bitlocker passcodes if users miss it.
  • Windows Sandbox: On such a desktop, connection, or online service, a sandbox allows users to test cybersecurity without disrupting the system.
  • Hyper-V: Launched by Microsoft Corporation on August 26, 2008, it is an acronym for a hypervisor. A different name for it is Virtual Server Virtualization. Servers operating virtual machines but also third-party software, such as VirtualBox, are virtualized using Hyper-V.
  • Workgroup management: An administrator in an institution can clearly state group policies to oversee various Windows users. It offers support for devices with more RAM than 128 GB.

Additionally, it provides 34-day postponement, flex scheduling, and much more Windows keep updating configuration options [9].

Android

Android is an OS designed for handheld devices such as smartphones as well as tablet devices which is open source as well as predicated on Linux. This Open Handset Alliance, headed by Google, as well as other companies created Android.

Android provides an uniform approach to mobile app development, so designers simply require to make for Android as well as their applications ought to be capable of running on several Android-powered devices.

Google released the very first beta version of something like the Android Software Development Kit (SDK) in 2007, on the other side, Android 1.0, the very first commercial edition, was unveiled in Sept. 2008.

At the Google I/O symposium on June 27, 2012, Google unveiled Android 4.1 Jelly Bean. Jelly Bean is indeed a future intervention whose primary aim is to improve the user interface's capabilities and performance.

Android's programming language is accessible thanks to free as well as open-sourced software licencing. The majority of Google's code is released underneath the Apache License 2.0, as well as the remainder, incorporating adjustments to the Linux kernel, is launched underneath the GNU General Public License edition 2.

This same Software Development Kit of Android is generally used to generate Android applications, that are particular programming in Java. When they have been generated, Android applications are easily simple to package as well as one can sell through online stores such as, SlideME, Google play, Opera Mobile Store, F-droid, Mobango, as well as the Amazon Appstore.

More than 190 countries all over the globe, incorporating tens of millions of portable devices, run Android. Over a million additional Android devices are stimulated every day globally [8].

Memory Management

  1. Describe the advantages and disadvantages of memory allocation schemes. Discuss the overheads of compaction.

Advantages:

  • Memory allotment is really simple as well as affordable.
  • Any available page is acceptable; the OS may choose the first one from the maintained list.
  • eradicates fragmentation from outside
  • Page frames (data) might get dispersed while PM.
  • Pages are already correctly mapped, allowing for demand paging as well as pre-paging.
  • More effective swapping Fragmentation aspects are not necessary.
  • By changing the page that is significantly less likely to be accessed [6].

Disadvantages:

  • longer have access times to memory
  • TLB could be used to enhance
  • Tables on guarded pages
  • prerequisites for memory (one entry per VM page)
  • Tables on reversed pages
  • Utilize multi layered page tables as well as variable page sizes to enhance (super-pages)
  • the Page Table Length Register (PTLR) to regulate the size of virtual memory
  • Internal dispersion [5]

To make a few extra rooms for procedures, the available storage is gathered in a sizable memory chunk through the process of compression. Swapping in dynamic memory causes multiple memory fractions to be created as a result of processes coming in and going out. The term "compaction" describes the blending of all the blank rooms and procedures. Although compaction aids in the reduction of fragmentation, it consumes far to much CPU time[4]. Rather than having numerous small openings for new jobs, it keeps moving each of the populated parts of the store with one side as well as leaves one sizable open space. Every time a new job is allocated to memory or completed from memory; relocation data should be updated by the system as part of compaction. The OS regularly has problems assigning memory to procedures, even when there is sufficient free space inside the memory to satisfy an application's memory needs. When a process's memory request cannot be satisfactory because the free memory isn't really contiguous, this is referred to as external fragmentation. To resolve these concerns, compaction is being used [3].

Compaction-Related overhead

But even though the compaction method is very helpful in enhancing memory utilization effectiveness and lowering external storage fragmentation, the main problem associated with it is that a significant number of seconds is ruined in the procedure, while the CPU sits empty, lowering the effectiveness of system [1].

First, we have to check these two, if (offset < segment limit) for an issue. If it is, then we have to follow, offset + base address for getting the accurate physical address. If we don’t get this, there will be segment fault.

  1. (0, 430)

here, 430<600

so,

210+ 430= 540

  1. (1, 10)

here, 10<15

90+10= 100

  1. (2, 500)

here, 500< 100, which is false there will be segment fault.

  1. (3, 400)

here, 400<580,

so, 1327+400= 1727

  1. (4, 115)

here, 115<96, which is false there will be segment fault.

3. Give an example of computing circumstances that would favor first- fit allocation over best- fit. Explain your answer.

Since "each process" is a single entity involved in allotment, it requires a portion of primary memory to operate. The memory manager helps the programmer store and load data in the main memory and is also charge of assigning primary memory to procedures [2].

The memory manager can assign a part of main memory to "so every process" for its exclusive use because main storage could be space-multiplexed.

Defining the following tactics:

Best fit: A method is apportioned to the smallest available block of free memory by the allocator.

First fit: Because there could be numerous gaps in the memory, the operating system starts at the beginning of main memory as well as allocates memory from the first space it finds that is big enough to fulfill the request in order to save time while evaluating the free slots.

So, yeah of course, the methodologies are based on the assumption that only one procedure is permitted to reside in a gap at a time [10].

Example;

Given; Blocksize = {110, 510, 190, 310, 590} and the processSize = {213, 418, 113, 427};

Output:

Process No

Process Size

Block no.

1

213

2

2

418

5

3

113

3

4

427

Not allocated

 

Because it only tries to find the very first block, which is sufficient to allocate a process, it enjoys the advantage of being the fastest quest.

However, if space could be allocated, it might have issues preventing processes from taking it. In the examples discussed above, procedure number 4 (with a size of 427) doesn't really receive memory. Nevertheless, if we had allocated memory using best fit allotment (block no 4 (of size 310) to process 1, block no 2, process 2, block no 3, and block no 5 to process 4), it would have been possible to do so.

References

[1] Z. S. Ageed, S. R. Zeebaree, M. M. Sadeeq, S. F. Kak, Z. N. Rashid, A. A. Salih, et al., "A survey of data mining implementation in smart city applications," Qubahan Academic Journal, vol. 1, pp. 91-99, 2021.

[2] P. Srinuan, X. Yuan, and N.-F. Tzeng, "Cooperative memory expansion via OS kernel support for networked computing systems," IEEE Transactions on Parallel and Distributed Systems, vol. 31, pp. 2650- 2667, 2020.

[3] H. R. Abdulqadir, S. R. Zeebaree, H. M. Shukur, M. M. Sadeeq, B. W. Salim, A. A. Salih, et al., "A study of moving from cloud computing to fog computing," Qubahan Academic Journal, vol. 1, pp. 60-70, 2021.

[4] Z. S. Ageed, S. R. Zeebaree, M. A. Sadeeq, M. B. Abdulrazzaq, B. W. Salim, A. A. Salih, et al., "A state of art survey for intelligent energy monitoring systems," Asian Journal of Research in Computer Science, pp. 46-61, 2021.

[5] B. T. Jijo, S. R. Zeebaree, R. R. Zebari, M. A. Sadeeq, A. B. Sallow, S. Mohsin, et al., "A comprehensive survey of 5G mm-wave technology design challenges," Asian Journal of Research in Computer Science, pp. 1-20, 2021.

[6] F. Q. Kareem, S. R. Zeebaree, H. I. Dino, M. A. Sadeeq, Z. N. Rashid, D. A. Hasan, et al., "A survey of optical fiber communications: challenges and processing time influences," Asian Journal of Research in Computer Science, pp. 48-58, 2021.

[7] S. M. S. A. Abdullah, S. Y. A. Ameen, M. A. Sadeeq, and S. Zeebaree, "Multimodal emotion recognition using deep learning," Journal of Applied Science and Technology Trends, vol. 2, pp. 52-58, 2021.

[8] M. A. Sadeeq and S. Zeebaree, "Energy management for internet of things via distributed systems," Journal of Applied Science and Technology Trends, vol. 2, pp. 59-71, 2021.

[9] Z. S. Ageed, S. R. Zeebaree, M. M. Sadeeq, S. F. Kak, H. S. Yahia, M. R. Mahmood, et al., "Comprehensive survey of big data mining approaches in cloud systems," Qubahan Academic Journal, vol. 1, pp. 29-38, 2021.

[10] M. A. Omer, S. R. Zeebaree, M. A. Sadeeq, B. W. Salim, S. x Mohsin, Z. N. Rashid, et al., "Efficiency of malware detection in android system: A survey," Asian Journal of Research in Computer Science, pp. 59-69, 2021.

You Might Also Like

Operating System Assignment Help
4 Reasons to Study Computer Science at University Level
ITSU1001 Introduction to Computer Systems and Networking Assignment Sample

Upto 50% Off*
Get A Free Quote in 5 Mins*
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Why Us


Complete Confidentiality
All Time Assistance

Get 24x7 instant assistance whenever you need.

Student Friendly Prices
Student Friendly Prices

Get affordable prices for your every assignment.

Before Time Delivery
Before Time Delivery

Assure you to deliver the assignment before the deadline

No Plag No AI
No Plag No AI

Get Plagiarism and AI content free Assignment

Expert Consultation
Expert Consultation

Get direct communication with experts immediately.

Get
500 Words Free
on your assignment today

It's Time To Find The Right Expert to Prepare Your Assignment!

Do not let assignment submission deadlines stress you out. Explore our professional assignment writing services with competitive rates today!

Secure Your Assignment!

Online Assignment Expert - Whatsapp Get 50% + 20% EXTRAAADiscount on WhatsApp

refresh