Operating Systems and Programming Languages: A Comprehensive Guide
Fifth Generation (1980-Present)
LSI Circuits
LSI circuits appear. Surge the IBM PC. Becomes universal use of data networks.
Monolithic Structure
The system is a set of procedures and each can invoke or call the other. No data are hidden. It is hardly scalable.
Layered Structure
A set of overlapping virtual levels up to the end user. Each layer defines the level of privilege. Facilitates the modification of the operating system.
Microclients and Client Server
Type the core of an operating system that provides a set of primitives or system calls to implement minimum basic services. All other services run as processes in user space servers. Processing power is divided between clients and servers.
API
A set of programming libraries that develop and publish the component manufacturers to enable application developers to use such services. Represents an interface for communication between software components and describes only how to call each function and it performs the task, no matter how it is carried out that task.
Win32
Composed by functions in C stored in dynamic link libraries (DLL). These libraries are used by Windows when you want to add some functionality to their OSs.
SDK
Application Development Kit provided by Microsoft that includes documentation and tools necessary for developers to build applications and use the resources of the system.
Interface for User Commands
- Text Mode: Orders are given in the form of lines of text you type on a terminal.
- Graphical: Graphical user interfaces intuitive, dynamic and productive.
Operating System Types
Single User
All system resources are available for a single user.
Multiuser
Several users can run different processes on the same CPU and share the use of existing resources in the system simultaneously.
Monotasking
You can only run a process and not finished until it starts the next.
Multitasking
You can run multiple processes simultaneously.
Single-Process
When a single processor installed. All work will alternate occupation of the CPU.
Multithreading
When multiple processors are installed on the same computer and operating system can be used simultaneously.
Asymmetric
Select a processor to execute operating system code while the other processors execute user jobs.
Symmetrical
Allow the operating system to work in any free processor or all processors simultaneously, sharing memory between them.
Real-Time
Used when we have processes that must meet very strict timing requirements.
Interactive Systems
Most common operating systems. The OS has mechanisms that allow for planning the occupation of the CPU.
Operating System Architectures
Batch Process
A process does not begin until the previous one has finished.
Centralized OS
The mainframe computers were responsible for all processing and end users to operate without memory or processor.
Network OS
Keep two or more computers together through some means of communication with the aim of sharing different resources and system information.
Distributed OS
Quasi-independent systems capable of distributing the jobs, tasks or processes from a set of processors.
Server Virtualization and OS
This is the masking of server resources including the number and identification of individual physical servers, processors and operating systems for server users.
Virtualizing Storage
Unification of storage devices on a network of area storage, in pretending to be a simple storage device from a central console.
Desktop Virtualization
Separation between the physical system and the desktop, belonging data and tools used by the user in consolidated virtualized desktop that is stored on a remote server rather than the physical machine.
Programming Languages
Programming Language
A set of rules, tools and conditions that allow us to create programs or applications within a computer.
Machine Language
Are you understand the computer without any conversion.
Low-Level Language
The low-level languages or assemblers are those whose sentences are formed by mnemonic codes.
High-Level Language
Those who have sentences formed by words similar to those of human languages.
Programming Paradigms
Streamline
Create programs using a set written sentences and whose execution sequence is the sequence.
Structured Programming
Most famous and oldest in existence. It is based on the modularity of programs, which are divided into smaller modules and each performs a specific task.
OOP (Object-Oriented Programming)
It is a way of structuring a program.
Programming Logic
The most important thing is to define a set of facts, previously known, and a set of rules that define us the different relationships between program components. Using high level languages.
