Write My Assignment Australia

ARCHITECTURE AND OPERATING SYSTEMS

ARCHITECTURE AND OPERATING SYSTEMS

 

 

Table of Contents

Introduction. 3

Computer Architecture. 3

Main components of computer system.. 3

Functionality and rationale of the components. 6

Assembly language. 6

Fundamental elements of assembly language. 6

Differences of assembly language from high-level language. 7

Operating Systems. 8

File systems. 8

I/O systems. 9

Managing memory and process in modern operating system.. 9

Functionality and rationale of these systems. 9

Conclusion. 10

References. 10

 

 

 

Introduction

There is a revolutionary change in the architecture of the computer system by the up-gradation of technology. To get in-depth knowledge about this evolution, it is necessary to acquire knowledge about the computer architecture system along with an operating system that is used to run the hardware systems effectively. Moreover, to execute an instruction in a computer system it is required to input that instruction in the system but, the computer system cannot able to read that plan-text information. Therefore, it requires a specific program language to execute the plan text information with the help of a computer processing unit. This study is going to evaluate the components of computer architecture, languages and operating system in brief to construct a better understanding of the computer system.  

Computer Architecture

Main components of the computer system

In a computer system mainly, there are three types of components such as memory unit, control and processing unit (CPU) and input/ output unit.

Figure 1: Components of computer architecture

(Source: Hill et al. 2016)

All these components are upgraded gradually in hierarchical order with the development of technology.

Memory unit:

In the memory hierarchy, there are different types of memory devices. From the following hierarchical pyramid, it can be sensed that there are two types of memory storage that is primary and auxiliary storage (Hill et al. 2016).

Figure 2: Memory hierarchy pyramid

(Source: Elahi, 2018)

From the above memory hierarchy diagram, it can be possible to sense the evaluation of memory storage type.

Processing unit:

The processing unit is the main functional unit of a computer system. In this unit many logical and arithmetical calculations can be performed effectively. Performance of logical operation in the computer system depends upon the capability of the processing unit. External instructions are fed to the processing unit with the help of input devices and in the processing unit; these instructions have been translated using a translator and given to the processor (Baldwin, 2017). After processing, processed data has been given to the output devices to retrieve by the user. Hence, this processing unit can link the input and output devices to perform the logical and numerical operation to accomplish a given task.

 I/O devices:

I/O devices are other essential components of a computer system that can help to give instruction from the outside and to display the results after compilation in the processing unit. Therefore, these input/ output devices are the external peripherals of a computer system and can be attached or remove to or from the computer system as per the requirement (Elahi, 2018). Hence, it cannot be possible to give instruction input to the processing unit of a computer system without having the input unit. Therefore, it can be sensed that these i/o unit are linked with the central processing unit to take part in the operation process. Hence, this passive participation can contribute a vital role to get an effective outcome from the computer system.  

Functionality and rationale of the components

All these three above-stated components of a computer system are needed to perform in a collaboration to get desired operation outcomes. To get a high level of accuracy in data processing, it is important to have good linkage among these units. It is also important to measure the hardware and software computability before running the execution of a program to get the task done in quick time (Patel and Patt, 2019). Without having compatibility, it may be getting an error message during the compilation of a program.   

Assembly language

Fundamental elements of assembly language

Assembly language is a low-level programming language that is used to process given instructions with the help of a specialized processor. A set of rules or syntax have been used for this compilation (Cross et al. 2017). There are several elements of assembly language such as follows:

Labels:

With the help of labels, it can be possible to represent a memory address in textual format and that has been stored in RAM or ROM memory. It helps to execute a bunch of instruction set which helps to mitigate the compilation problem. These labels are used at the starting of the program to perform this execution of instruction codes. This label can be useful to place in a program line as it is easier to place a textual, easily recognized name instead of having 16-bit numerical code (Patterson et al. 2017). It is hard to use numeric codes as it seems very difficult to memorize and thereby, the label helps to convert these codes into easily recognized text format. 

Directives:

Directives have no such functions to make any influence on the execution however; it helps to increase the execution speed of the program as well as it is the obligatory part of a program. Moreover, it has the rule for placing the directives in the program line that is, one directive can be used in only one program line (Fromherz et al. 2019).

Orders:

By evaluating the needs of the program compilation, it is necessary to decide the order of the assembly language either it can be used in the program in ascending or descending order.

Comments:  Comments are a set of regular text that used to derive the instruction and process to be performed during execution. Before entering in an assembler, it discards by the assembler and converted into machine code. Generally, comments are represented by a semicolon (Patterson et al. 2017). 

Differences of assembly language from the high-level language

Assembly language is a low-level language program that uses some syntax and variables. On the other hand, high-level language is a human-friendly language in which a lot of variables are used and therefore, there is an excellent level of integration with the hardware (Cebula, 2019). Some key differences between assembly and high-level language are as the following:

Assembly Language

High-level language

Written codes in assembly language can be run in only one type of processors. It cannot be possible to run a program code for a specific type of processor in another type.

High-level language codes can be run in any processor type that is, high-level language programs can be run independently of any processor.

Accuracy and performance are low as compared to high-level language

Performance and accuracy are better than assembly language

Simple programs can be run to execute much simple code

Extra instructions are needed to run complex programs

Difficult to understand and arise difficulties in debugging

It is a user-friendly language

This language consists of simple code

A single statement in a high-level language can be expanded to many assembly languages codes

It is easier to communicate in this language

It requires specific knowledge to communicate with high-level language

Pointers can be read in a physical address in this assembly language

That is not possible to read the pointer in a high-level language

Codes can be translated into assembly language using assembler

It requires the compiler to translate code into a high-level language

Codes are smaller in size in low-level language and hence, it takes less time to compile

Generally, the code size is larger in this language and therefore, it takes longer time

Efficiency level is higher in this language due to shorter code size

Due to longer codes, the efficiency is not that much as assembly language

In assembly language, the programmer needs to know the details of register, assembler and processor

High-level language programmer does not need to bother about the type of processor and register

Example of assembly language is ARM, x86, Z80, MIPS, 6502, 6510

Examples of high-level language are C, C++, C#, PHP, Cobol, JavaScript, pascal, python,

Table 1: Difference between assembly and high-level language

(Source: Fromherz et al. 2019)

Operating Systems

File systems

A file system is referred to as the organization and management of files in the storage medium and files can be sent or retrieve to or from the storage as per the requirement. In the file system, files are managed into separate groups as per the task requirements and this arrangement is called a directory. In the directory there may be several files can be stored in a sequence that helps to retrieve a necessary file on time. In recent days, the NTFS file system is mostly used in windows operating system. Hence, the file system works to organize the files appropriately and two different files cannot be saved in the storage media with the same file name (Squires, 2019). Hence, the file system helps to mitigate the data conflict by assigning the files by a different name. The file system can be managed in a hierarchical order. There are different types of file systems such as FAT32, FAT16, GFS, HFS, NTFS, and UDP.  

I/O systems

I/O or input/ output system works to develop communication between the computer processing system and the outside world to generate logical information. With the help of several I/O devices such as a keyboard, mouse, monitor, printer and other peripheral devices can perform to receive signals or instructions from human and thereby after processing within the system it gives respective output through output devices such as printer and monitor (He et al. 2016). To perform I/O operation it requires a set of instruction and these instructions can be fed to the I/O devices through the specific channel from the processing unit.  

Managing memory and process in the modern operating system

By managing the processes in a computer system, it can be ensuring that all tasks can be accomplished in an organized manner. By memory management, memory managers can able to arrange the entire process carefully by making integration between the hardware peripherals and the operating system. Moreover, at the time of running all the data at the same time, it is required to get a reference from both the logical and physical addresses and the operation can be performed with the help of dynamic memory (Squires, 2019). Therefore, to utilize logical and physical addresses, it is required to convert the logical address to physical address by the help of programmable hardware. This programmable hardware can recall the data into a physical address to perform the data processing task.   

Functionality and rationale of these systems

File system and i/o devices are functioned to perform the processing task efficiently to organize directory inappropriate manner. To manage the user data, it is important to maintain the accuracy of the file system. Operations that can be done with the help of organized file system are updating, storing and retrieving of data and information in a stack accordingly as per the needs (Lister et al. 2016). Hence, the functionally of the file system is as the following:

  • Data access mechanism can be controlled by the file system
  • With the help of a file system, metadata can be organized in an efficient manner
  • Accessibility of data and folders can be managed by the file system
  • File and folder security can be controlled by the help of the file system
  • Storage space can be managed efficiently with the help of a file system

I/O system can be functioned to perform a specific operation by making collaboration between the hardware and processing unit. By this collaboration, it can be possible to access the data from memory in a faster way and thereby, it can be possible to accomplish a performed task in less time (Dumas, 2017).

Conclusion

From the above analysis, it can be possible to get diverse knowledge about the computer architecture system and thereby, it can be possible to manage a computer system effectively as per the task requirements. It can be possible to gain in-depth knowledge about the components of a computer system and their functionality and this knowledge can help individuals to manage their computer system to accomplish their tasks. Moreover, by acquiring the knowledge of programming language, it can be possible to get an insight into assembly language as well as high-level language and that helps the programmer to execute a set of instructions effectively. Additionally, by viewing the fundamentals of the operating system, it can be possible to gain adequate knowledge to manage a huge range of file systems by managing the directory.

 

 

References

Baldwin, R., Riverside Research Institute, 2017. Assured computer architecture-volatile memory design and operation. U.S. Patent Application 15/262,550.

Cebula, R., International Business Machines Corp, 2019. Discovering high-level language data structures from the assembler code. U.S. Patent 10,223,085.

Cross, A.W., Bishop, L.S., Smolin, J.A. and Gambetta, J.M., 2017. Open quantum assembly language. arXiv preprint arXiv:1707.03429.

Dumas, J., 2017. From the introduction to operating systems to computer architecture: does an online prerequisite course prepare students better?. Journal of Computing Sciences in Colleges33(2), pp.253-259.

Elahi, A., 2018. Introduction to Computer Architecture. In Computer Systems (pp. 115-136). Springer, Cham.

Fromherz, A., Giannarakis, N., Hawblitzel, C., Parno, B., Rastogi, A. and Swamy, N., 2019. A Verified, Efficient Embedding of a Verifiable Assembly.

He, S., Wang, Y., Sun, X.H., Huang, C. and Xu, C., 2016. Heterogeneity-aware collective I/O for parallel I/O systems with hybrid HDD/SSD servers. IEEE Transactions on Computers66(6), pp.1091-1098.

Hill, M.D., Adve, S., Ceze, L., Irwin, M.J., Kaeli, D., Martonosi, M., Torrellas, J., Wenisch, T.F., Wood, D. and Yelick, K., 2016. 21st-century computer architecture. arXiv preprint arXiv:1609.06756.

Lister, A., Eager, B. and Eager, R.D., 2016. Fundamentals of operating systems. Macmillan International Higher Education.

Patel, S. and Patt, Y., 2019. Introduction to Computing Systems: From bits & gates to C & beyond. McGraw-Hill Professional.

Patterson, D., Perconti, J., Dimoulas, C. and Ahmed, A., 2017, June. FunTAL: Reasonably mixing a functional language with assembly. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 495-509).

Squires, C.J., Western Digital Technologies Inc, 2019. Broadcast data operations in distributed file systems. U.S. Patent 10,523,753.

ARCHITECTURE AND OPERATING SYSTEMS

 

 

Table of Contents

Introduction. 3

Computer Architecture. 3

Main components of computer system.. 3

Functionality and rationale of the components. 6

Assembly language. 6

Fundamental elements of assembly language. 6

Differences of assembly language from high-level language. 7

Operating Systems. 8

File systems. 8

I/O systems. 9

Managing memory and process in modern operating system.. 9

Functionality and rationale of these systems. 9

Conclusion. 10

References. 10

 

 

 

Introduction

There is a revolutionary change in the architecture of the computer system by the up-gradation of technology. To get in-depth knowledge about this evolution, it is necessary to acquire knowledge about the computer architecture system along with an operating system that is used to run the hardware systems effectively. Moreover, to execute an instruction in a computer system it is required to input that instruction in the system but, the computer system cannot able to read that plan-text information. Therefore, it requires a specific program language to execute the plan text information with the help of a computer processing unit. This study is going to evaluate the components of computer architecture, languages and operating system in brief to construct a better understanding of the computer system.  

Computer Architecture

Main components of the computer system

In a computer system mainly, there are three types of components such as memory unit, control and processing unit (CPU) and input/ output unit.

Figure 1: Components of computer architecture

(Source: Hill et al. 2016)

All these components are upgraded gradually in hierarchical order with the development of technology.

Memory unit:

In the memory hierarchy, there are different types of memory devices. From the following hierarchical pyramid, it can be sensed that there are two types of memory storage that is primary and auxiliary storage (Hill et al. 2016).

Figure 2: Memory hierarchy pyramid

(Source: Elahi, 2018)

From the above memory hierarchy diagram, it can be possible to sense the evaluation of memory storage type.

Processing unit:

The processing unit is the main functional unit of a computer system. In this unit many logical and arithmetical calculations can be performed effectively. Performance of logical operation in the computer system depends upon the capability of the processing unit. External instructions are fed to the processing unit with the help of input devices and in the processing unit; these instructions have been translated using a translator and given to the processor (Baldwin, 2017). After processing, processed data has been given to the output devices to retrieve by the user. Hence, this processing unit can link the input and output devices to perform the logical and numerical operation to accomplish a given task.

 I/O devices:

I/O devices are other essential components of a computer system that can help to give instruction from the outside and to display the results after compilation in the processing unit. Therefore, these input/ output devices are the external peripherals of a computer system and can be attached or remove to or from the computer system as per the requirement (Elahi, 2018). Hence, it cannot be possible to give instruction input to the processing unit of a computer system without having the input unit. Therefore, it can be sensed that these i/o unit are linked with the central processing unit to take part in the operation process. Hence, this passive participation can contribute a vital role to get an effective outcome from the computer system.  

Functionality and rationale of the components

All these three above-stated components of a computer system are needed to perform in a collaboration to get desired operation outcomes. To get a high level of accuracy in data processing, it is important to have good linkage among these units. It is also important to measure the hardware and software computability before running the execution of a program to get the task done in quick time (Patel and Patt, 2019). Without having compatibility, it may be getting an error message during the compilation of a program.   

Assembly language

Fundamental elements of assembly language

Assembly language is a low-level programming language that is used to process given instructions with the help of a specialized processor. A set of rules or syntax have been used for this compilation (Cross et al. 2017). There are several elements of assembly language such as follows:

Labels:

With the help of labels, it can be possible to represent a memory address in textual format and that has been stored in RAM or ROM memory. It helps to execute a bunch of instruction set which helps to mitigate the compilation problem. These labels are used at the starting of the program to perform this execution of instruction codes. This label can be useful to place in a program line as it is easier to place a textual, easily recognized name instead of having 16-bit numerical code (Patterson et al. 2017). It is hard to use numeric codes as it seems very difficult to memorize and thereby, the label helps to convert these codes into easily recognized text format. 

Directives:

Directives have no such functions to make any influence on the execution however; it helps to increase the execution speed of the program as well as it is the obligatory part of a program. Moreover, it has the rule for placing the directives in the program line that is, one directive can be used in only one program line (Fromherz et al. 2019).

Orders:

By evaluating the needs of the program compilation, it is necessary to decide the order of the assembly language either it can be used in the program in ascending or descending order.

Comments:  Comments are a set of regular text that used to derive the instruction and process to be performed during execution. Before entering in an assembler, it discards by the assembler and converted into machine code. Generally, comments are represented by a semicolon (Patterson et al. 2017). 

Differences of assembly language from the high-level language

Assembly language is a low-level language program that uses some syntax and variables. On the other hand, high-level language is a human-friendly language in which a lot of variables are used and therefore, there is an excellent level of integration with the hardware (Cebula, 2019). Some key differences between assembly and high-level language are as the following:

Assembly Language

High-level language

Written codes in assembly language can be run in only one type of processors. It cannot be possible to run a program code for a specific type of processor in another type.

High-level language codes can be run in any processor type that is, high-level language programs can be run independently of any processor.

Accuracy and performance are low as compared to high-level language

Performance and accuracy are better than assembly language

Simple programs can be run to execute much simple code

Extra instructions are needed to run complex programs

Difficult to understand and arise difficulties in debugging

It is a user-friendly language

This language consists of simple code

A single statement in a high-level language can be expanded to many assembly languages codes

It is easier to communicate in this language

It requires specific knowledge to communicate with high-level language

Pointers can be read in a physical address in this assembly language

That is not possible to read the pointer in a high-level language

Codes can be translated into assembly language using assembler

It requires the compiler to translate code into a high-level language

Codes are smaller in size in low-level language and hence, it takes less time to compile

Generally, the code size is larger in this language and therefore, it takes longer time

Efficiency level is higher in this language due to shorter code size

Due to longer codes, the efficiency is not that much as assembly language

In assembly language, the programmer needs to know the details of register, assembler and processor

High-level language programmer does not need to bother about the type of processor and register

Example of assembly language is ARM, x86, Z80, MIPS, 6502, 6510

Examples of high-level language are C, C++, C#, PHP, Cobol, JavaScript, pascal, python,

Table 1: Difference between assembly and high-level language

(Source: Fromherz et al. 2019)

Operating Systems

File systems

A file system is referred to as the organization and management of files in the storage medium and files can be sent or retrieve to or from the storage as per the requirement. In the file system, files are managed into separate groups as per the task requirements and this arrangement is called a directory. In the directory there may be several files can be stored in a sequence that helps to retrieve a necessary file on time. In recent days, the NTFS file system is mostly used in windows operating system. Hence, the file system works to organize the files appropriately and two different files cannot be saved in the storage media with the same file name (Squires, 2019). Hence, the file system helps to mitigate the data conflict by assigning the files by a different name. The file system can be managed in a hierarchical order. There are different types of file systems such as FAT32, FAT16, GFS, HFS, NTFS, and UDP.  

I/O systems

I/O or input/ output system works to develop communication between the computer processing system and the outside world to generate logical information. With the help of several I/O devices such as a keyboard, mouse, monitor, printer and other peripheral devices can perform to receive signals or instructions from human and thereby after processing within the system it gives respective output through output devices such as printer and monitor (He et al. 2016). To perform I/O operation it requires a set of instruction and these instructions can be fed to the I/O devices through the specific channel from the processing unit.  

Managing memory and process in the modern operating system

By managing the processes in a computer system, it can be ensuring that all tasks can be accomplished in an organized manner. By memory management, memory managers can able to arrange the entire process carefully by making integration between the hardware peripherals and the operating system. Moreover, at the time of running all the data at the same time, it is required to get a reference from both the logical and physical addresses and the operation can be performed with the help of dynamic memory (Squires, 2019). Therefore, to utilize logical and physical addresses, it is required to convert the logical address to physical address by the help of programmable hardware. This programmable hardware can recall the data into a physical address to perform the data processing task.   

Functionality and rationale of these systems

File system and i/o devices are functioned to perform the processing task efficiently to organize directory inappropriate manner. To manage the user data, it is important to maintain the accuracy of the file system. Operations that can be done with the help of organized file system are updating, storing and retrieving of data and information in a stack accordingly as per the needs (Lister et al. 2016). Hence, the functionally of the file system is as the following:

  • Data access mechanism can be controlled by the file system
  • With the help of a file system, metadata can be organized in an efficient manner
  • Accessibility of data and folders can be managed by the file system
  • File and folder security can be controlled by the help of the file system
  • Storage space can be managed efficiently with the help of a file system

I/O system can be functioned to perform a specific operation by making collaboration between the hardware and processing unit. By this collaboration, it can be possible to access the data from memory in a faster way and thereby, it can be possible to accomplish a performed task in less time (Dumas, 2017).

Conclusion

From the above analysis, it can be possible to get diverse knowledge about the computer architecture system and thereby, it can be possible to manage a computer system effectively as per the task requirements. It can be possible to gain in-depth knowledge about the components of a computer system and their functionality and this knowledge can help individuals to manage their computer system to accomplish their tasks. Moreover, by acquiring the knowledge of programming language, it can be possible to get an insight into assembly language as well as high-level language and that helps the programmer to execute a set of instructions effectively. Additionally, by viewing the fundamentals of the operating system, it can be possible to gain adequate knowledge to manage a huge range of file systems by managing the directory.

 

 

References

Baldwin, R., Riverside Research Institute, 2017. Assured computer architecture-volatile memory design and operation. U.S. Patent Application 15/262,550.

Cebula, R., International Business Machines Corp, 2019. Discovering high-level language data structures from the assembler code. U.S. Patent 10,223,085.

Cross, A.W., Bishop, L.S., Smolin, J.A. and Gambetta, J.M., 2017. Open quantum assembly language. arXiv preprint arXiv:1707.03429.

Dumas, J., 2017. From the introduction to operating systems to computer architecture: does an online prerequisite course prepare students better?. Journal of Computing Sciences in Colleges33(2), pp.253-259.

Elahi, A., 2018. Introduction to Computer Architecture. In Computer Systems (pp. 115-136). Springer, Cham.

Fromherz, A., Giannarakis, N., Hawblitzel, C., Parno, B., Rastogi, A. and Swamy, N., 2019. A Verified, Efficient Embedding of a Verifiable Assembly.

He, S., Wang, Y., Sun, X.H., Huang, C. and Xu, C., 2016. Heterogeneity-aware collective I/O for parallel I/O systems with hybrid HDD/SSD servers. IEEE Transactions on Computers66(6), pp.1091-1098.

Hill, M.D., Adve, S., Ceze, L., Irwin, M.J., Kaeli, D., Martonosi, M., Torrellas, J., Wenisch, T.F., Wood, D. and Yelick, K., 2016. 21st-century computer architecture. arXiv preprint arXiv:1609.06756.

Lister, A., Eager, B. and Eager, R.D., 2016. Fundamentals of operating systems. Macmillan International Higher Education.

Patel, S. and Patt, Y., 2019. Introduction to Computing Systems: From bits & gates to C & beyond. McGraw-Hill Professional.

Patterson, D., Perconti, J., Dimoulas, C. and Ahmed, A., 2017, June. FunTAL: Reasonably mixing a functional language with assembly. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 495-509).

Squires, C.J., Western Digital Technologies Inc, 2019. Broadcast data operations in distributed file systems. U.S. Patent 10,523,753.

 

Get It Done! Today

  • 1,212,718Orders

  • 4.9/5Rating

  • 5,063Experts

"

Dissertation-
“My wound healing efficacy dissertation turned out just excellent with the extreme level of proficiency. I did not expect online writers to do such a scrupulous job. The content was precise, scientific, and thoughtful. Likewise, the sources were cited according to APA standards. I could not have been happier. I entrust my success to the dissertation professionals of Thestudenthelpline and recommend everyone for the same.” - Evelyn

Assignment writing-
"I never expected my first year to be that hard, and I panicked when I saw so many papers assigned to me. In spite of being a diligent student, I ordered this one assignment due to a lack of time to 'Thestudenthelpline'. I got my essay written according to almost all the instructions directed to the website. The writer did it well. Moreover, the price was not expensive either. I will use this service again if necessary." - Harper, a psychology freshman

Essay writing
"I ordered a 3-page essay on comparative analysis from Thestudenthelpline. Though the comparative analysis is not easy, it did not count as complex. The essay writers are very patient and open to customer views. Because of the cooperative writers, I was able to deliver my essay way before the deadline. The essay was structured with the proper sentence skills and had all the necessary sources, cited according to the rules. You can definitely place your order here if you need qualified assistance." - Aubrey

"

Highlights

  • 21 Step Quality Check
  • 2000+ Ph.D Experts
  • Live Expert Sessions
  • Dedicated App
  • Earn while you Learn with us
  • Confidentiality Agreement
  • Money Back Guarantee
  • Customer Feedback

Just Pay for your Assignment

  • Turnitin Report

    $10.00
  • Proofreading and Editing

    $9.00Per Page
  • Consultation with Expert

    $35.00Per Hour
  • Live Session 1-on-1

    $40.00Per 30 min.
  • Quality Check

    $25.00
  • Total

    Free
  • Let's Start