scholarly journals EVector: An Efficient Vector Implementation – Using Virtual Memory for Improving Memory

2006 ◽  
Vol 14 (2) ◽  
pp. 45-59
Author(s):  
Dries Kimpe ◽  
Stefan Vandewalle ◽  
Stefaan Poedts

Every modern operating system provides some form of virtual memory to its applications. Usually, a hardware memory management unit (MMU) exists to efficiently support this. Although most operating systems allow user programs to indirectly control the MMU, few programs or programming languages actually make use of this facility. This article explores how the MMU can be used to enhance memory handling for resizable arrays. A reference implementation in C++ demonstrates its usability and superiority compared to the standard C++ vector class, and how to combine the scheme with an object-oriented environment. A number of other improvements, based on newly emerged insights in C++ are also presented.

Author(s):  
Farzeen Zehra ◽  
Maha Javed ◽  
Darakhshan Khan ◽  
Maria Pasha

In this era of technology, programming has become more significant than ever before. Python and C++ are both widely used programming languages. Python, the most popular programming language in today’s world, is a high-level object-oriented language whereas C++, the language behind most operating systems, is a low-level object-oriented language. In this paper, we present a comparative study of Python and C++. This paper discusses the introduction to these languages, their memory management techniques, and the reasons behind their program execution speed. Furthermore, we analyzed the execution time and memory used by multiple algorithms in both the languages with best, average, and worst cases. They are also compared with respect to the benefits and issues related to them. Results indicate that C++ is faster than Python in execution speed but Python serves as a better language for beginners due to its simplicity. Moreover, for the best results, the language should be selected according to the type of project.


2016 ◽  
Vol 4 (1) ◽  
pp. 54-66
Author(s):  
Nguyen Khanh ◽  
Jimin Lee ◽  
Susan Reiser ◽  
Donna Parsons ◽  
Sara Russell ◽  
...  

A Methodology for Appropriate Testing When Data is Heterogeneous was originally published and copy written in the mid-1990s in Turbo Pascal and a 16-bit operating system.  While working on an ergonomic dissertation (Yearout, 1987), the author determined that the perceptual lighting preference data was heterogeneous and not normal.  Drs. Milliken and Johnson, the authors of Analysis of Messy Data Volume I: Designed Experiments (1989), advised that Satterthwaite’s Approximation with Bonferroni’s Adjustment to correct for pairwise error be used to analyze the heterogeneous data. This technique of applying linear combinations with adjusted degrees of freedom allowed the use of t-Table criteria to make group comparisons without using standard nonparametric techniques.  Thus data with unequal variances and unequal sample sizes could be analyzed without losing valuable information.  Variances to the 4th power were so large that they could not be reentered into basic calculators.  The solution was to develop an original software package which was written in Turbo Pascal on a 7 ¼ inch disk 16-bit operating system.  Current operating systems of 32 and 64 bits and more efficient programming languages have made the software obsolete and unusable. Using the old system could result either in many returns being incorrect or the system terminating.  The purpose of this research was to develop a spreadsheet algorithm with multiple interactive EXCEL worksheets that will efficiently apply Satterthwaite’s Approximation with Bonferroni’s Adjustment to solve the messy data problem.  To ensure that the pedagogy is accurate, the resulting package was successfully tested in the classroom with academically diverse students.  A comparison between this technique and EXCEL’s Add-Ins Analysis ToolPak for a t-test Two-Sample Assuming Unequal Variances was conducted using several different data sets.  The results of this comparison were that the EXCEL Add-Ins returned incorrect significant differences.  Engineers, ergonomists, psychologists, and social scientists will find the developed program very useful. A major benefit is that spreadsheets will continue to be current regardless of evolving operating systems’ status.


Author(s):  
Lee Chao

In today’s mobile computing, Linux plays a significant role. The Linux kernel has been adopted by a variety of mobile operating systems to handle tasks such as device management, memory management, process management, networking, power management, application interface management, and user interface management. This chapter introduces Linux based mobile operating systems installed on various mobile devices. It first gives a brief introduction of the history of mobile Linux. Then, the chapter introduces the mobile Linux features that can be used to meet the mobile learning requirements. The last part of the chapter presents strategies on selecting a Linux based operating system for a particular mobile learning project.


Author(s):  
Peretz Shoval

The term “object oriented” spread in the last decade and a half, throughout many fields of computing, including the analysis and design of information systems (IS). The use of the OO approach began in the early 1970s in fields such as computers architecture, operating systems, and artificial intelligence. But the main field to which the approach penetrated was programming languages, beginning with Simula and then with Smalltalk. Some years passed by until the approach became popular in the programming field. Reasons for the vigorous penetration of the approach include the emergence of the windows-based graphical interfaces technology, the desire to economize development costs by reusing existing software, and the transition from centralized computing to distributed- and Internet-based computing. As aforesaid, the approach penetrated into other fields of computing due to its success in the field of programming, including the field of analysis and design of IS.


2021 ◽  
Vol 7 (1) ◽  
pp. 26
Author(s):  
Raquel Vázquez Díaz ◽  
Martiño Rivera-Dourado ◽  
Rubén Pérez-Jove ◽  
Pilar Vila Avendaño ◽  
José M. Vázquez-Naya

Memory management is one of the main tasks of an Operating System, where the data of each process running in the system is kept. In this context, there exist several types of attacks that exploit memory-related vulnerabilities, forcing Operating Systems to feature memory protection techniques that make difficult to exploit them. One of these techniques is ASLR, whose function is to introduce randomness into the virtual address space of a process. The goal of this work was to measure, analyze and compare the behavior of ASLR on the 64-bit versions of Windows 10 and Ubuntu 18.04 LTS. The results have shown that the implementation of ASLR has improved significantly on these two Operating Systems compared to previous versions. However, there are aspects, such as partial correlations or a frequency distribution that is not always uniform, so it can still be improved.


Author(s):  
Moshe Itshak ◽  
Yair Wiseman

The concept of Super-Paging has been wandering around for more than a decade. Super-Pages are supported by some operating systems. In addition, there are some interesting research papers that show interesting ideas how to intelligently integrate Super-Pages into modern operating systems; however, the page replacement algorithms used by the contemporary operating system even now use the old Clock algorithm which does not prioritize small or large pages based on their size. In this chapter an algorithm for page replacement in a Super-Page environment is presented. The new technique for page replacement decisions is based on the page size and other parameters; hence is appropriate for a Super-Paging environment.


2010 ◽  
Vol 47 (2) ◽  
pp. 120-131 ◽  
Author(s):  
Janez Puhan ◽  
Árpád Bűrmen ◽  
Tadej Tuma ◽  
Iztok Fajfar

The paper discusses whether (and how) to teach assembly coding as opposed to (or in conjunction with) higher programming languages as part of a modern electrical engineering curriculum. We describe the example of a very simple cooperative embedded real-time operating system, first programmed in C and then in assembler. A few lines of C language code are compared with the slightly longer assembly code equivalent, and the advantages and drawbacks are discussed. The example affords students a much deeper understanding of computer architecture and operating systems. The course is linked to other courses in the curriculum, which all use the same hardware and software platform; this lowers prices, reduces overheads and encourages students to reuse parts of a written code in subsequent courses. A student learns that badly written and poorly documented code is very difficult to reuse.


1991 ◽  
Vol 19 (4) ◽  
pp. 109-116 ◽  
Author(s):  
Alberto R. Cunha ◽  
Carlos N. Ribeiro ◽  
José A. Marques

Sign in / Sign up

Export Citation Format

Share Document