General Programming Fundamentals

    All Latest General programming related articles. to submit your articles became a membur, it's free or send your article to publisher(at)tutorialsforu(dot)info.

 



Memory Management

E-mail


The memory management subsystem is one of the most important parts of the operating system. Since the early days of computing, there has been a need for more memory than exists physically in a system. Strategies have been developed to overcome this limitation and the most successful of these is virtual memory. Virtual memory makes the system appear to have more memory than it actually has by sharing it between competing processes as they need it.

Virtual memory does more than just make your computer's memory go further. The memory management subsystem provides:

 

Large Address Spaces
The operating system makes the system appear as if it has a larger amount of memory than it actually has. The virtual memory can be many times larger than the physical memory in the system,

 

Protection
Each process in the system has its own virtual address space. These virtual address spaces are completely separate from each other and so a process running one application cannot affect another. Also, the hardware virtual memory mechanisms allow areas of memory to be protected against writing. This protects code and data from being overwritten by rogue applications.
Read more... [Memory Management]
 

Software Basics

E-mail


A program is a set of computer instructions that perform a particular task. That program can be written in assembler, a very low level computer language, or in a high level, machine independent language such as the C programming language. An operating system is a special program which allows the user to run applications such as spreadsheets and word processors. This chapter introduces basic programming principles and gives an overview of the aims and functions of an operating system.

 

2.1 Computer Languages

2.1.1 Assembly Languages

The instructions that a CPU fetches from memory and executes are not at all understandable to human beings. They are machine codes which tell the computer precisely what to do. The hexadecimal number 0x89E5 is an Intel 80486 instruction which copies the contents of the ESP register to the EBP register. One of the first software tools invented for the earliest computers was an assembler, a program which takes a human readable source file and assembles it into machine code. Assembly languages explicitly handle registers and operations on data and they are specific to a particular microprocessor. The assembly language for an Intel X86 microprocessor is very different to the assembly language for an Alpha AXP microprocessor. The following Alpha AXP assembly code shows the sort of operations that a program can perform:

Read more... [Software Basics]
 

The process of language translation

E-mail

The process of language translation

By reading this chapter first, you’ll get the basic flavor of what it is like to program with objects in C++, and you’ll also discover some of the reasons for the enthusiasm surrounding this language. This should be enough to carry you through Chapter 3, which can be a bit exhausting since it contains most of the details of the C language.

The user-defined data type, or class, is what distinguishes C++ from traditional procedural languages. A class is a new data type that you or someone else creates to solve a particular kind of problem. Once a class is created, anyone can use it without knowing the specifics of how it works, or even how classes are built. This chapter treats classes as if they are just another built-in data type available for use in programs.

Classes that someone else has created are typically packaged into a library. This chapter uses several of the class libraries that come with all C++ implementations. An especially important standard library is iostreams, which (among other things) allow you to read from files and the keyboard, and to write to files and the display. You’ll also see the very handy string class, and the vector container from the Standard C++ Library. By the end of the chapter, you’ll see how easy it is to use a pre-defined library of classes.

In order to create your first program you must understand the tools used to build applications.

Read more... [The process of language translation]
 

System Description and Specification

E-mail

System Description and Specification


The engineer’s first task is understanding the system, the second one is specifying it, and the third one is building it. Analysis must precede specification since it is impossible to define or describe what is unknown. Specification must precede construction, since we cannot build what has not been defined. The first two tasks (understanding and defining the system) can be quite challenging in the software development field, particularly regarding small- to medium-size projects.

Read more... [System Description and Specification]
 

Fundamentals of Systems Engineering

E-mail

Fundamentals of Systems Engineering



In this chapter we attempt to provide a technical overview of some topics from the field of software

engineering, stressing those that would be most useful to the working developer. The contents are an arbitrary

selection of the topics that would be most useful to the working analyst, designer, or programmer, operating

in the context of a smaller software project. We have avoided speculative discussions on the respective merits

of the various software engineering paradigms. The purpose of this chapter is to serve as an informational

background and to set the mood for the more practical discussions that follow. The discussion excludes object

orientation since Part II is devoted exclusively to this topic.

Read more... [Fundamentals of Systems Engineering]
 


Donate

Development & maintainance needs time & money.
With your donation you can help us to keep this project alive
Donate:
  Monthly Monthly
Currency
Amount

Language Translator

Amazon

Copyright @ 2008 | Tutorialsforu.info | Developed by Open Source Coders | Add your link.