# data[].attributes.headline
المكونات المادية للحاسوب

# data[].attributes.subject
المكونات المادية للحاسوب

# data[].attributes.attachment_link.authors[].name
التقنية بلا حدود

# data[].attributes.attachment_link.title
سلسلة تعليمية:ماهي مكونات الحاسب؟

# data[].attributes.body
LA RAM

# data[].attributes.headline
وحدات الإدخال و الإخراج في الحاسوب

# data[].attributes.subject
وحدات الإدخال و الإخراج في الحاسوب

# data[].attributes.body
السلام عليكم

# data[].attributes.body
EX : C++; JAVA ; PHP ; HTML ; ;;;

# data[].attributes.attachment_link.readable_text
Un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine,.

Un langage de programmation est mis en œuvre par un traducteur automatique : compilateur ou interprète. Un compilateur est un programme informatique qui transforme dans un premier temps un code source écrit dans un langage de programmation donné en un code cible qui pourra être directement exécuté par un ordinateur, à savoir un programme en langage machine ou en code intermédiaire, tandis que l'interprète réalise cette traduction " à la volée ".

Les langages de programmation offrent différentes possibilités d' abstraction et une notation proche de l' algèbre, permettant de décrire de manière concise et facile à saisir les opérations de manipulation de données et l'évolution du déroulement du programme en fonction des situations. La possibilité d'écriture abstraite libère l'esprit du programmeur d'un travail superflu, notamment de prise en compte des spécificités du matériel informatique, et lui permet ainsi de se concentrer sur des problèmes plus avancés.

Chaque langage de programmation supporte une ou plusieurs approches de la programmation - paradigmes. Les notions induisant le paradigme font partie du langage de programmation et permettent au programmeur d'exprimer dans le langage une solution qui a été imaginée selon ce paradigme.

Les premiers langages de programmation ont été créés dans les années 1950 en même temps que l'avènement des ordinateurs. Cependant, de nombreux concepts de programmation ont été initiés par un langage ou parfois plusieurs langages, avant d'être améliorés puis étendus dans les langages suivants. La plupart du temps la conception d'un langage de programmation a été fortement influencée par l'expérience acquise avec les langages précédents.

Un langage de programmation est construit à partir d'une grammaire formelle, qui inclut des symboles et des règles syntaxiques, auxquels on associe des règles sémantiques. Ces éléments sont plus ou moins complexes selon la capacité du langage. Les modes de fonctionnement et de définition de la complexité d'un langage de programmation sont généralement déterminés par leur appartenance à l'un des degrés de la hiérarchie de Chomsky.

Sous un angle théorique, tout langage informatique peut être qualifié de langage de programmation s'il est Turing-complet c'est-à-dire qu'il permet de représenter toutes les fonctions calculables au sens de Turing et Church (en admettant néanmoins pour exception à la théorie que la mémoire des ordinateurs n'est pas un espace infini).

Les règles de syntaxe

Définies par une grammaire formelle, elles régissent les différentes manières dont les éléments du langage peuvent être combinés pour obtenir des programmes. La ponctuation (par exemple l'apposition d'un symbole ; en fin de ligne d'instruction d'un programme) relève de la syntaxe.

Le vocabulaire

Parmi les éléments du langage, le vocabulaire représente l'ensemble des instructions construites d'après des symboles. L'instruction peut être mnémotechnique ou uniquement symbolique comme quand elle est représentée par des symboles d'opérations tels que des opérateurs arithmétiques (" + " et " - ") ou booléens (&& pour le et logique par exemple). On parle aussi parfois de mot clé pour désigner une instruction (par abus de langage car le concept de mot clé ne recouvre pas celui des symboles qui font pourtant eux aussi partie du vocabulaire).

La sémantique

Les règles de sémantique définissent le sens de chacune des phrases qui peuvent être construites dans le langage, en particulier quels seront les effets de la phrase lors de l'exécution du programme. La science l'étudiant est la sémantique des langages de programmation.

L'alphabet

L'alphabet des langages de programmation est basé sur les normes courantes comme ASCII, qui comporte les lettres de A à Z sans accent, des chiffres et des symboles, ou Unicode pour la plupart des langages modernes (dans lesquels l'utilisation se limite en général aux chaînes de caractères littérales et aux commentaires, avec quelques exceptions notables comme C♯ qui autorisent également les identifiants unicode).

La plupart des langages de programmation peuvent prévoir des éléments de structure complémentaires, des méthodes procédurales, et des définitions temporaires et variables et des identifiants :

Les commentaires

Les commentaires sont des textes qui ne seront pas traduits. Ils peuvent être ajoutés dans les programmes pour y laisser des explications. Les commentaires sont délimités par des marques qui diffèrent d'un langage de programmation à l'autre tel que " -- ", " /* " ou " // ".

Les identifiants

Les éléments constitutifs du programme, tels que les variables, les procédures ou les types servent à organiser le programme et son fonctionnement. On peut ainsi, par exemple, diviser un programme en fonctions ou lui donner une structure par objets : ces éléments de structure sont définis par des identifiants ou des procédures par mot clé selon le langage.

Un langage de programmation offre un cadre pour élaborer des algorithmes et exprimer des diagrammes de flux,. Il permet en particulier de décrire les structures des données qui seront manipulées par l'appareil informatique et quelles seront les manipulations. Un langage de programmation sert de moyen de communication avec l'ordinateur mais aussi entre programmeurs : les programmes étant d'ordinaire écrits, lus et modifiés par une équipe de programmeurs.

Les programmeurs apprécient qu'un langage de programmation soit en ligne avec les bonnes pratiques de programmation et d'ingénierie, qu'il encourage la structuration du programme, facilite la maintenance des programmes et qu'il dissuade, voire interdise les mauvaises pratiques. L'utilisation de l'instruction , par exemple, qui existe depuis les premiers langages de programmation, est considérée comme une mauvaise pratique. Son utilisation est déconseillée, voire impossible dans les langages de programmation récents.

L'alignement sur les standards industriels, la possibilité d'utiliser des fonctionnalités écrites dans un autre langage de programmation et l'exécution simultanée de plusieurs threads sont des possibilités appréciées des langages de programmation.

Un nom utilisé dans un programme pour faire référence à une donnée manipulée par programme.

Un nom utilisé pour faire référence à une valeur permanente.

Chaque donnée a une classification, celle-ci influe sur la plage de valeurs possibles, les opérations qui peuvent être effectuées et la représentation de la donnée sous forme de bits. Chaque langage de programmation offre une gamme de types primitifs, incorporés dans le langage. Certains langages offrent la possibilité de créer des nouveaux types.

Les types de données primitifs courants sont les nombres entiers, les nombres réels, le booléen, les chaînes de caractères et les pointeurs.

Plus précisément, le type booléen est un type qui n'a que deux valeurs, vrai et faux, tandis que le type pointeur fait référence à une donnée qui se trouve quelque part en mémoire.

Une manière caractéristique d'organiser un ensemble de données en mémoire, qui influe sur les algorithmes utilisés pour les manipuler. Les structures courantes sont les tableaux, les enregistrements, les listes, les piles, les files et les arbres.

Divers langages de programmation offrent la possibilité d'isoler un fragment de programme et d'en faire une opération générale, paramétrable, susceptible d'être utilisée de façon répétée. Ces fragments sont appelés procédures, fonctions ou méthodes, selon le paradigme.

Les notions de procédure et de module sont destinées à faciliter la création de programmes complexes et volumineux en assistant la prise en charge de cette complexité. Ces fonctions permettent en particulier la modularité et l' abstraction.

Un paradigme est une façon d'approcher la programmation. Chaque paradigme amène sa philosophie de la programmation ; une fois qu'une solution a été imaginée par un programmeur selon un certain paradigme, un langage de programmation qui suit ce paradigme permettra de l'exprimer. Impératif, déclaratif, fonctionnel, logique, orienté objet, concurrent, visuel, événementiel et basé web sont des paradigmes de programmation. Chaque langage de programmation reflète un ou plusieurs paradigmes, apportant un ensemble de notions qui peuvent être utilisées pour exprimer une solution à un problème de programmation. Au cours de l'histoire, les scientifiques et les programmeurs ont identifié les avantages et les limitations d'un style de programmation et apporté de nouveaux styles. La plupart des langages de programmation contemporains permettent d'adopter plusieurs paradigmes de programmation à condition que ceux-ci soient compatibles.

Le paradigme impératif ou procédural est basé sur le principe de l'exécution étape par étape des instructions tout comme on réalise une recette de cuisine. Il est basé sur le principe de la machine de Von Neumann. Un ensemble d'instructions de contrôle de flux d'exécution permet de contrôler l'ordre dans lequel sont exécutées les instructions qui décrivent les étapes. Le C, le Pascal, le Fortran et le COBOL sont des exemples de langage de programmation qui implémentent le paradigme impératif.

Il y a essentiellement deux paradigmes déclaratifs ; ce sont le paradigme fonctionnel et le paradigme logique. En paradigme fonctionnel, le programme décrit des fonctions mathématiques. En paradigme logique, il décrit des prédicats : c'est-à-dire des déclarations qui, une fois instanciées, peuvent être vraies ou fausses ou ne pas recevoir de valeur de vérité (quand l'évaluation du prédicat ne se termine pas). Dans un modèle d'implantation, une machine abstraite effectue les opérations nécessaires pour calculer le résultat de chaque fonction ou chaque prédicat. Dans ces paradigmes, une variable n'est pas modifiée par affectation. Une des caractéristiques principales est la transparence référentielle, qui fait qu'une expression peut être remplacée par son résultat sans changer le comportement du programme.

Le paradigme fonctionnel a pour principe l'évaluation de formules, afin d'utiliser le résultat pour d'autres calculs ; il s'appuie sur la récursivité et il a pour modèle le lambda-calcul, plus précisément la réduction en forme normale de tête. Tous les calculs évaluent des expressions ou font appel à des fonctions. Pour simplifier, le résultat d'un calcul sert pour le calcul ou les calculs qui ont besoin de son résultat jusqu'à ce que la fonction qui produit le résultat du programme ait été évaluée. Le paradigme fonctionnel a été introduit par les langages Lisp et ISWIM ainsi qu'en ce qui concerne les fonctions récursives par Algol 60, dans les années 1960. Des langages tels que Ruby et Scala supportent plusieurs paradigmes dont le paradigme fonctionnel, tandis qu' Haskell ne supporte que le paradigme fonctionnel et OCaml privilégie le paradigme fonctionnel qu'il partage avec le paradigme objet et une petite dose d'impératif.

Le paradigme logique vise à répondre à une question par des recherches dans un ensemble, en utilisant des axiomes, des requêtes et des règles de déduction. L'exécution d'un programme est une cascade de recherches de faits dans un ensemble, en invoquant des règles de déduction. Les données obtenues, peuvent être associées à un autre ensemble de règles et peuvent alors être utilisées dans le cadre d'une autre recherche. L'exécution du programme se fait par évaluation : le système effectue une recherche de toutes les affirmations qui, par déduction, correspondent à au moins un élément de l'ensemble. Le programmeur exprime les règles, et le système pilote le processus. Le paradigme logique a été introduit par le langage Prolog en 1970.

Le paradigme orienté objet est destiné à faciliter le découpage d'un grand programme en plusieurs modules isolés les uns des autres. Il introduit les notions d'objet et d'héritage. Un objet contient les variables et les fonctions en rapport avec un sujet. Les variables peuvent être privées, c'est-à-dire qu'elles peuvent être manipulées uniquement par l'objet qui les contient. Un objet contient implicitement les variables et les fonctions de ses ancêtres, et cet héritage aide à réutiliser du code. Le paradigme orienté objet permet d'associer fortement les données avec les procédures. Il a été introduit par le langage Simula dans les années 1960 et est devenu populaire dans les années 1980, quand l'augmentation de la puissance de calcul des ordinateurs a permis d'exécuter des grands programmes. Divers langages de programmation ont été enrichis en vue de permettre la programmation orientée objet ; c'est le cas de C++ (dérivé du langage C), Simula, Smalltalk, Swift et Java sont des langages de programmation en paradigme orienté objet.

En paradigme concurrent un programme peut effectuer plusieurs tâches en même temps. Ce paradigme introduit les notions de thread, d'attente active et d'appel de fonction à distance. Ces notions ont été introduites dans les années 1980 lorsque, à la suite de l'évolution technologique, un ordinateur est devenu une machine comportant plusieurs processeurs et capable d'effectuer plusieurs tâches simultanément. Les langages de programmation contemporains de 2013 tels que C++ et Java sont adaptés aux microprocesseurs multi-cœur et permettent de créer et manipuler des threads. Plus récemment, on a vu apparaître des langages intégralement orientés vers la gestion de la concurrence, comme le langage Go.

Dans la grande majorité des langages de programmation, le code source est un texte, ce qui rend difficile l'expression des objets bidimensionnels. Un langage de programmation tel que Delphi ou C# permet de manipuler des objets par glisser-déposer et le dessin ainsi obtenu est ensuite traduit en une représentation textuelle orientée objet et événementielle. Le paradigme visuel a été introduit à la fin des années 1980 par Alan Kay dans le langage Smalltalk, dans le but de faciliter la programmation des interfaces graphiques.

Alors qu'un programme interactif pose une question et effectue des actions en fonction de la réponse, en style événementiel le programme n'attend rien et est exécuté lorsque quelque chose s'est passé. Par exemple, l'utilisateur déplace la souris ou presse sur un bouton. Dans ce paradigme, la programmation consiste à décrire les actions à prendre en réponse aux événements. Et une action peut en cascade déclencher une autre action correspondant à un autre événement. Le paradigme événementiel a été introduit par le langage Simula dans les années 1970. Il est devenu populaire à la suite de l'avènement des interfaces graphiques et des applications web.

Avec l'avènement de l' Internet dans les années 1990, les données, les images ainsi que le code s'échangent entre ordinateurs. Si un résultat est demandé à un ordinateur, celui-ci peut exécuter le programme nécessaire et envoyer le résultat. Il peut également envoyer le code nécessaire à l'ordinateur client pour qu'il calcule le résultat lui-même. Le programme est rarement traduit en langage machine, mais plutôt interprété ou traduit en une forme intermédiaire, le bytecode, qui sera exécuté par une machine virtuelle, ou traduit en langage machine au moment de l'exécution ( just-in-time). Java, PHP et Javascript sont des langages de programmation basée web.

L'utilisation d'un langage est rendue possible par un traducteur automatique. Un programme qui prend un texte écrit dans ce langage pour en faire quelque chose, en général soit :

Un programme qui traduit le texte dans un langage qui permettra son exécution, tel le langage machine, le bytecode ou le langage assembleur.

Un programme qui exécute les instructions demandées. Il joue le même rôle qu'une machine qui reconnaîtrait ce langage.

La traduction s'effectue en plusieurs étapes. En premier lieu, le traducteur effectue une analyse lexicale où il identifie les éléments du langage utilisés dans le programme. Dans l'étape suivante, l' analyse syntaxique, le traducteur construit un diagramme en arbre qui reflète la manière dont les éléments du langage ont été combinés dans le programme, pour former des instructions. Puis, lors de l' analyse sémantique, le traducteur détermine s'il est possible de réaliser l'opération et les instructions qui seront nécessaires dans le langage cible.

Les langages de programmation fonctionnent souvent à l'aide d'un runtime.

Un runtime (traduction : exécuteur) est un ensemble de bibliothèques logicielles qui mettent en œuvre le langage de programmation, permettant d'effectuer des opérations simples, telles que copier des données, mais aussi des opérations beaucoup plus complexes.

Lors de la traduction d'un programme vers le langage machine, les opérations simples sont traduites en les instructions correspondantes en langage machine tandis que les opérations complexes sont traduites en des utilisations des fonctions du runtime. Dans certains langages de programmation, la totalité des instructions sont traduites en des utilisations du runtime qui sert alors d'intermédiaire entre les possibilités offertes par la plateforme informatique et les constructions propres au langage de programmation.

Chaque langage de programmation a une manière conventionnelle de traduire l'exécution de procédures ou de fonctions, de placer les variables en mémoire et de transmettre des paramètres. Ces conventions sont appliquées par le runtime. Les runtime servent également à mettre en œuvre certaines fonctionnalités avancées des langages de programmation telles que le ramasse-miettes, ou la réflexion.

Les fonctionnalités avancées telles que le ramasse-miettes (anglais garbage collector), la manipulation des exceptions, des événements ou des threads, ainsi que la liaison tardive et la réflexion sont mises en œuvre par les runtime des langages de programmation.

Une procédure qui va être exécutée lorsqu'une condition particulière est rencontrée. Les événements sont notamment utilisés pour mettre en œuvre les interfaces graphiques.

Une suite d'instructions en train d'être exécutée. Les langages de programmation qui manipulent les threads permettent d'effectuer plusieurs tâches simultanément. Cette possibilité d'exécution simultanée, offerte par les systèmes d'exploitation, est également offerte en allégé par les runtime des langages de programmation.

Le procédé de liaison (anglais late binding ou dynamic binding) consiste à associer chaque identifiant d'un programme avec l'emplacement de mémoire concerné. Cette opération peut être effectuée lors de la traduction du programme, au cours de l'exécution du programme ou juste avant, elle est dite tardive lorsque l'opération de liaison est effectuée très tard, juste avant que l'emplacement concerné ne soit utilisé.

Une structure permettant de manipuler des traits impératifs dans des langages fonctionnels purs.

Bien que la notion de programme apparaisse progressivement au cours de la deuxième moitié du siècle, les premiers langages de programmation n'apparaissent qu'autour de 1950. Chacun pouvant créer son propre langage, il est impossible de déterminer le nombre total de langages existant à l'heure actuelle.

On peut aussi classer les langages de programmation en fonction de leur utilisation car beaucoup de langages sont spécialisés à une application ou à un domaine particulier.

Ce type de langage est utilisé pour une plus grande interaction entre un client et un serveur.

Du côté du serveur Web, cela permet de produire des pages dont le contenu est généré à chaque affichage. Ces langages sont par ailleurs souvent couplés avec un langage pour communiquer avec des bases de données (exemples : PHP, LiveCode).

Côté client (en général le navigateur web), ces langages offrent la possibilité de réagir à certaines actions de l'utilisateur sans avoir à questionner le serveur. Par exemple, le JavaScript d'une page Web peut réagir aux saisies de l'utilisateur dans un formulaire (et vérifier le format des données).

Certains langages permettent de développer à la fois les aspects client et serveur. C'est le cas d' Ocsigen, de Hop, de Dart ou bien encore du Server-Side JavaScript.

On désigne parfois par langage de programmation théorique les systèmes formels utilisés pour décrire de façon théorique le fonctionnement des ordinateurs. Ils ne servent pas à développer des applications mais à représenter des modèles et démontrer certaines de leurs propriétés.

On peut citer la machine de Turing et le λ-calcul de Church, qui datent tous les deux des années 1930, et donc antérieurs à l'invention de l'ordinateur. Le λ-calcul a par la suite servi de base théorique à la famille des langages de programmation fonctionnelle. Dans les années 1980, Robin Milner a mis au point le π-calcul pour modéliser les systèmes concurrents.

Les langages exotiques ont pour but de créer des grammaires complètes et fonctionnelles mais dans un paradigme éloigné des conventions. Beaucoup sont d'ailleurs considérés comme des blagues.

Ces langages sont généralement difficiles à mettre en pratique et donc rarement utilisés.

ABEL, langage pour la programmation électronique des PLD

CDuce, langage fonctionnel d'ordre supérieur pour la manipulation de documents au format XML.

Forme de Backus-Naur (BNF), formalisation des langages de programmation

PROMELA, langage de spécification de systèmes asynchrones

VRML, description de scènes en trois dimensions

Langages de programmation synchrones pour les systèmes réactifs : Esterel, Lustre.

Les pseudo-codes ont généralement un but uniquement pédagogique.

Logo est un langage fonctionnel simple à apprendre.

Dans les années 1990, le langage BASIC était souvent conseillé pour débuter. Il avait cependant la réputation de favoriser la prise de mauvaises habitudes de programmation.

Le Processing est un langage simplifié qui s'appuie sur Java. Il permet un développement d'applications fenêtrées sur tout type d'ordinateur équipé de Java.

L'Arduino est un langage simplifié s'appuyant sur C/C++. Il permet un développement simple de projets électroniques à partir de carte Arduino (AVR).

L'ArduinoEDU est un langage encore plus simple, en français, pour les grands débutants s'appuyant sur le langage C/C++/Arduino. Il permet un développement très simple de projets électroniques à partir de cartes Arduino (AVR).

Flowgorithm est un outil de création et modification graphique de programmes informatiques sous forme d'Algorigramme.

Verilog, VHDL : langages de description matérielle, permettant de synthétiser de l'électronique numérique (descriptions de portes logiques) et d'en simuler le fonctionnement

SystemC, langage de description matérielle de plus haut niveau que les précédents et permettant une simulation plus rapide

R, SAS et xLispStat sont à la fois un langage de statistiques et un logiciel.

Une machine-outil automatisée, ou Commande Numérique (C.N.), a besoin d'un langage de programmation pour réaliser les opérations de tournage ou de fraisage ...

Nyquist est un langage de synthèse et d'analyse sonore. Pure Data est un logiciel de création musicale graphique qui repose sur un langage de programmation procédural.

Six chercheurs de trois universités portugaises ont mené une étude comparative de 27 langages de programmation, intitulée " Energy Efficiency Across Programming Languages ". Ils ont étudié la consommation d'énergie, le temps d'exécution et l'utilisation de la mémoire. Pour obtenir un ensemble de programmes comparables, les chercheurs ont exploré le Computer Language Benchmarks Game (CLBG).

Le tableau obtenu présente les résultats globaux (en moyenne) pour la consommation d'énergie (Energy), le temps d'exécution (Time) et la consommation maximale de la mémoire (Mb) normalisés par rapport au langage le plus efficace pour le critère mesuré.

La popularité de chaque langage est difficilement quantifiable ; néanmoins, il existe l' index TIOBE, calculé mensuellement, qui se base sur le nombre de formations/cours destinée aux ingénieurs et le nombre de revendeurs/free-lance spécialisés dans un langage de programmation. C'est une information parcellaire mais qui peut donner un ordre d'idée sur les tendances en matière de préférence des programmeurs.

Sur les autres projets Wikimedia :

# data[].attributes.attachment_link.description
Un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine,.

# data[].attributes.body
وحدات الإدخال و الإخراج في الحاسوب

# data[].attributes.body
Rom et ram

# data[].attributes.body
Ram : random access memory

# data[].attributes.headline
المكونات المادية للحاسوب

# data[].attributes.body
المكونات المادية للحاسوب
tick
NOTE
Votre avatar
Ajouter un commentaire
LA RAM
Avatar de AMATOCH
AMATOCH
3 heures
LA RAM
tick
NOTE
Votre avatar
Ajouter un commentaire
وحدات الإدخال و الإخراج في الحاسوب
Avatar de l'anonyme
Anonyme
3 heures
وحدات الإدخال و الإخراج في الحاسوب
tick
NOTE
Votre avatar
Ajouter un commentaire
وحدات الإد
Avatar de l'anonyme
Anonyme
3 heures
وحدات الإدخال و الإخراج في الحاسوب
tick
NOTE
Votre avatar
Ajouter un commentaire
Vide
Avatar de l'anonyme
Anonyme
3 heures
tick
NOTE
Votre avatar
Ajouter un commentaire
Rom et ram
Avatar de l'anonyme
Anonyme
3 heures
Rom et ram
tick
NOTE
Votre avatar
Ajouter un commentaire
Ram : random access
Avatar de l'anonyme
Anonyme
3 heures
Ram : random access memory 
tick
NOTE
Votre avatar
Ajouter un commentaire

add
المجموعة الثانية
more_vert
المكونات البرمجية للحاسوب
Avatar de AMATOCH
AMATOCH
8 heures
المكونات البرمجية للحاسوب
tick
NOTE
Votre avatar
Ajouter un commentaire
السلام علي
Avatar de l'anonyme
Anonyme
3 heures
السلام عليكم
tick
NOTE
Votre avatar
Ajouter un commentaire
LES LANGAGES DE PROGRAMATION
Avatar de l'anonyme
Anonyme
3 heures
LES LANGAGES DE PROGRAMATION
EX : C++; JAVA ; PHP ; HTML ; ;;;
tick
NOTE
Votre avatar
Ajouter un commentaire
Vide
Avatar de l'anonyme
Anonyme
3 heures
tick
NOTE
Votre avatar
Ajouter un commentaire

add
المجموعة الثالثة
more_vert
الصور والشاشات
Avatar de AMATOCH
AMATOCH
8 heures
الصور والشاشات
tick
NOTE
Votre avatar
Ajouter un commentaire
GIF
Avatar de l'anonyme
Anonyme
3 heures
GIF
الوانها محدودة في 256 لون
tick
NOTE
Votre avatar
Ajouter un commentaire
تطبيقات تعديل الصور
Avatar de l'anonyme
Anonyme
3 heures
تطبيقات تعديل الصور
tick
NOTE
Votre avatar
Ajouter un commentaire

add

# data[].attributes.body
رسومات

# data[].attributes.body
الفرق بين تقنيات الشاشات

# data[].attributes.attachment_link.readable_text
Partitionner un disque dur permet notamment d'installer un système d'exploitation supplémentaire ou de cloisonner données et système. Il permet également de préparer la création d'images du système puisque cette opération nécessite d'avoir une autre partition. Enfin, cela permet de réduire le temps de défragmentation (intégral) à la taille de la partition. Cependant, veuillez noter que si vous partitionnez un disque, il existe un risque de perte de données, il est donc conseillé de faire des sauvegardes au préalable.

Comment partitionner un disque dur ?

Windows permet de gérer directement les partitions :

Appuyer sur Windows + R puis saisir
diskmgmt.msc
.

Cliquer avec le bouton droit dans la partie basse sur le volume à partitionner, puis sélectionner "Réduire le volume".

Choisir la taille de la partition désirée, puis cliquer sur réduire.

Une nouvelle partition sera alors créée, pour peu que l'espace disque disponible sur la partition à réduire soit suffisant.

Partitions et systèmes de fichiers

Un même disque dur peut contenir jusqu'à quatre partitions principales ou trois partitions principales et une partition étendue. Par contre, dans une partition étendue, vous pouvez définir autant de partitions que vous le désirez. Les partitions contenues dans la partition étendue s'appellent des partitions logiques. Pour installer un système d'exploitation, vous avez besoin d'une partition principale tandis que, pour sauvegarder des données, une partition logique suffit. Donc, s'il vous est impossible de choisir de créer une partition logique, soit vous avez atteint la limite (4 partitions principales), soit il n'y a pas assez d'espace libre dans la partition étendue ou à côté de celle-ci.

Plusieurs types de système de fichiers existent :

FAT, utilisé par MS-DOS, Windows 3.x et Windows 95 mais parfaitement reconnu par tous les système actuels (Windows XP comme Linux). Ce système ne prend pas en charge les disques durs dépassant 2 Go. La taille des clusters est volumineuse d'où une perte d'espace disque.

FAT32 : Évolution du Fat, reconnu par tous les systèmes sauf par MS-DOS, Windows 3.x, Windows 95 Première Édition, Windows NT 3.5 et 4. Les disques peuvent aller jusqu'à 2 To (1 TéraOctets valant 1024 Go). Les clusters sont déjà plus petits.

NTFS, utilisé par Windows NT, 2000 et XP. Linux reconnaît ce système à titre expérimental mais mieux vaut se limiter alors à la lecture sans y écrire pour éviter les pertes de données. Ce système n'est pas envisageable pour des disques inférieurs à 400 Mo car il requiert beaucoup de place pour la structure du système. La taille des clusters ne dépend pas de la taille du disque (ou de la partition) et vous pouvez la choisir librement. Enfin, ce système sait réparer automatiquement les secteurs défectueux. D'autre part, les droits d'administration sont pris en charge.

Linux Ext2 (Ext2FS), utilisé par le système Linux et non reconnu par MS-DOS et tous les systèmes Windows. Les disques peuvent aller jusqu'à 2 Go et les noms de fichiers jusqu'à 255 caractères. Les droits d'administration sont pris en charge.

Linux Ext3 (Ext3FS), utilisé par le système Linux et non reconnu par MS-DOS et tous les systèmes Windows. Les disques peuvent aller jusqu'à 4 To. C'est une amélioration du Ext2FS auquel a été ajouté la journalisation des fichiers afin de permettre de rattraper très vite toute corruption.

Linux Ext4 (Ext4FS), utilisé par le système Linux et non reconnu par MS-DOS et tous les systèmes Windows. Les disques peuvent aller jusqu'à 16 To. C'est une amélioration du Ext3FS auquel a été ajouté l'amélioration de la fragmentation pour la diminuer.

Reiser (ReiserFS), utilisé par Linux, ce système est journalisé pour rattraper les corruptions et n'est pas reconnu par MS-Dos et Windows.

Linux Swap, utilisé par le système Linux et non reconnu par MS-DOS et tous les systèmes Windows. Ce système sert à gérer le fichier d'échange de Linux (le Swap).

Non formatée : C'est une partition vierge, sans aucun système de fichiers.

Logiciels gratuits

En utilisant ces logiciels, prenez vos précautions en sauvegardant au préalable vos données.

Fdisk, sous Linux, reconnaît tous les systèmes de fichiers FAT, FAT32, Ext2, Ext3, Swap Linux. Il est inclus dans toutes les distributions Linux.

EaseUS Partition Master est une solution capable d'effectuer les principales tâches pour le partitionnement. EaseUS Partition Master ne sait créer et gérer les partitions qu'avec les systèmes de fichiers Fat16, Fat32, NTFS, Ext2 et Ext3.

GParted est lui aussi un clone de PartitionMagic. Basée sur GTK, son interface graphique essaie d'être le plus simple possible. Il reconnait et supporte un grand nombre de système de fichiers y compris ceux de Microsoft. Il est aussi disponible en français. Voir :

GParted LiveCD est la version de GParted déclinée en LiveCD. On démarre sur le CD et en moins d'une minute on se retrouve devant une interface en français, avec la possibilité d'effectuer des modifications telles que créer/supprimer des partitions, redimensionner des partitions Linux ou Windows (FAT32, NTFS) sur le disque dur du système hôte. Voir :

QtParted est un clone de PartitionMagic inclus dans la majorité distributions Linux actuelles. Son interface est ergonomique et il est possible de l'avoir en français. Cette solution reconnaît tous les systèmes de fichiers Linux et Windows, y-compris le NTFS qui peut désormais être redimensionné. Inclus dans Knoppix. Voir :

Solutions payantes

EaseUS Partition Master existe aussi en solution payante. Si la version d'essai ne constitue qu'une version de démonstration à des fins de simulation, la version débridée est plus que complète puisque, outre les principales tâches pour le partitionnement, cette version gère les volumes dynamiques et permet la création créer un support de démarrage de secours WinPE. Quelle que soit la version, EaseUS Partition Master ne sait créer et gérer les partitions qu'avec les systèmes de fichiers Fat16, Fat32, NTFS, Ext2 et Ext3.

Hard Disk Manager (Paragon Software) permet de partitionner et de cloner les partitions dans une interface graphique , mais austère cependant, sous Windows. Ce logiciel sait reconnaître tous les systèmes de fichiers Windows et Linux mais aussi préserver les données existantes. La documentation laisse à désirer ! Voir :

Parted Magic est un LiveCD basé entièrement sur l'open-source et utilise gparted pour partitionner. Tous les systèmes de fichiers sont supportés (ceux du monde Windows comme Linux et bien d'autres). Il est possible de créer des partitions, les redimensionner, les déplacer. Il est également possible de cloner des disques et de les effacer totalement. Le téléchargement de l'image ISO est payant afin de financer son développeur (mais plus faible coût que les solutions propriétaires).

Partition Commander

permet de partitionner dans une interface sous Windows légèrement austère. Tous les systèmes de fichiers Windows et Linux sont reconnus. Cependant, non seulement, il est très lent mais, de plus, ne gère pas les disques durs USB ! Voir :

Dans l'urgence

Utilisez un CD Linux "Live". C'est gratuit ! Il suffit que votre BIOS autorise le démarrage direct sur CD. Vous pourrez alors utiliser QTParted (clone de PartitionMagic) voire GParted ou Parted Magic.

Il est impossible de partitionner un disque (une partition) en cours d'utilisation. Soit parce que le système est directement "assis" dessus, soit parce qu'un fichier est en cours de lecture ou assimilé comme tel. C'est pour cela que souvent PartitionMagic redémarre pour partitionner (de même que les autres logiciels).

En passant par un CD Linux "Live", tout le système réside dans le CD et la RAM. Donc, les partitions sont libérées. Nul besoin de redémarrer.

ATTENTION : Si vous utilisez un fichier SWAP ancré à votre disque dur, supprimez-le afin de pouvoir démonter vos partitions, opération essentielle à tout partitionnement.

Beaucoup de CD de distributions LinuxLive permettent de partitionner - et même parfois de créer une image système et de la restaurer -. Citons notamment parmi ces distributions qui s'installent uniquement en RAM (mémoire vive) sans rien installer sur disque dur (ce qui se traduit par une préservation des disques durs) :

Outils supplémentaires

Il arrive que l'on ait besoin de supprimer des partitions avant de procéder à leur création proprement dite. Vous pouvez pour cela le faire à l'aide des outils cités précédemment tel que "Fdisk" ou encore les solutions sus-nommées (Live-CD).

Mais il arrive, pour x raisons, de tomber sur des partitions "récalcitrantes" à toutes suppressions, et particulièrement tenaces ;-). L'urgence et le gain de temps sont aussi des raisons valables.

Dans ces cas-là, existent des petites solutions logicielles, qui peuvent nous faciliter la vie. Ces utilitaires sont à exécuter avec une extrême prudence et en connaissance de cause. Leur action est irréversible !

DelPart est un utilitaire DOS permettant de supprimer n'importe quel type de partition (FAT, NTFS, EXT2,...). Vous trouverez ci-dessous le lien vers un site vous en expliquant le fonctionnement ainsi que le lien pour son téléchargement.

mset1.free.fr/windows/flush_hd.zip Flush HD est un programme en MS-DOS pour effacer complètement un disque dur, quel que soit le format.

Notre vidéo

Cet article est régulièrement mis à jour par des experts sous la
direction de Jean-François Pillou, fondateur de CommentCaMarche.

# data[].attributes.attachment_link.title
Partitionner un disque dur (Windows 10, 8 et 7, Mac et Linux)

# data[].attributes.attachment_link.description
Partitionner un disque dur permet notamment d'installer un système d'exploitation supplémentaire ou de cloisonner données et système. Il permet également de préparer la création d'images du système puisque cette opération nécessite d'avoir une autre partition. Enfin, cela permet de réduire le temps de défragmentation (intégral) à la taille de la partition.

# data[].attributes.attachment_link.title
المكونات البرمجية في الحاسوب- البرمجيات Software (المفهوم، الأنواع، الأمثلة)

# data[].attributes.attachment_link.title
خدمات النظام

# data[].attributes.attachment_link.description
Download software for Windows. Download uTorrent, Google Chrome, Adobe Flash Player and more

# data[].attributes.headline
وحدات الإدخال و الإخراج في الحاسوب

# data[].attributes.subject
وحدات الإدخال و الإخراج في الحاسوب

# data[].attributes.attachment_link.provider_name
البوابة العربية للأخبار التقنية

# data[].attributes.attachment_link.readable_text
تشير الإحصائيات إلى أن معدلات توظيف مطوري البرمجيات ستزداد بنسبة 24% بحلول 2026، ولكن احتراف البرمجة يتطلب منك الكثير من الممارسة، فحتى المبرمجين المتمرسين لايزال لديهم الكثير لتعلمه، بسبب سرعة تطور هذا المجال.

سواء كنت جديدًا في عالم البرمجة، أو أحد المبرمجين المخضرمين، فإن الممارسة تجعلك محترفًا، ولهذا السبب قمنا بتجميع قائمة من تطبيقات البرمجة التي ستساعدك على تطوير مهاراتك من خلال كتابة الأكواد البرمجية أينما كنت.
فيما يلي 5 تطبيقات مهمة تسهل عليك تعلم البرمجة:
1- تطبيق Enki:

يعتبر تطبيق (Enki) من أبرز تطبيقات البرمجة التي تساعدك على الاستمرار في التحسن كمطور، حيث يدعم عددًا كبيرًا من لغات البرمجة مثل: (جافا) Java، (جافا سكريبت) JavaScript، و(بايثون) Python ، وCSS، وHTML، وBlockchain،و Git، وأساسيات CompSci، وLinux، وغير ذلك الكثير.

يوفر لك التطبيق تمارين يومية تساعدك على تحسين مهاراتك، وما عليك سوى اختيار لغة البرمجة المفضلة، وسيساعدك التطبيق في البقاء على المسار الصحيح.

يدعم التطبيق جميع المستويات بما يشمل المبتدئين والمبرمجين الأكثر خبرة. إذا كنت بدأت للتو ، يمكنك استخدام التطبيق لتعلم تقنيات الويب قبل الانتقال إلى JavaScript، حيث إنه لا يعلمك فقط كيفية البرمجة، ولكنه يساعدك أيضًا على تعلم الموضوعات ذات الصلة بالبرمجة مثل: كيفية استخدام أوامر Linux، وكيفية استخدام برنامج إدارة المراجعة الموزعة Git لإدارة النسخ.

التطبيق متاح مجانًا لمستخدمي أجهزة أندرويد على متجر جوجل بلاي، ولمستخدمي آيفون، وآيباد عبر آب ستور.

2- تطبيق Grasshopper:

يعتبر تطبيق Grasshopper من أبرز التطبيقات المتاحة لتعلم البرمجة، وقد أطلقه فريق عمل Area 120 التابع لشركة جوجل خلال عام 2018، ليتيح للمستخدمين تعلم أساسيات ومبادئ البرمجة مجانًا وبطريقة مُسلية، وسهلة للغاية.

بخلاف التطبيقات الأخرى الموجود في هذه القائمة والتي تتميز بدعم لغات برمجة متعددة، فإن تطبيق Grasshopper متخصص في لغة واحدة وهي (جافا سكريبت) JavaScript.

يعتمد التطبيق على رسوم متحركة تفاعلية تُمكّن أي شخص من فهم لغة البرمجة ببساطة من خلال الإجابة على أسئلة المسابقات وحل الألغاز.

التطبيق متاح لمستخدمي أجهزة أندرويد على متجر جوجل بلاي، ولمستخدمي آيفون، وآيباد عبر آب ستور.

3- تطبيق SoloLearn:

يعتبر تطبيق SoloLearn أحد أفضل تطبيقات تعلم البرمجة في قائمتنا اليوم، حيث يحتوي التطبيق على أكبر مجموعة من المحتوى المجاني المتخصص في تعليم البرمجة، كما يدعم أكبر عدد من لغات البرمجة بما في ذلك: C، و++C، وJava، وJavaScript، وPHP، وPython، وRuby، وSwift وغير ذلك.

كما أنه مناسب لجميع المستويات، بداية من المبتدئين، ووصولًا للمبرمجين المخضرمين والخبراء في مجال البرمجة.

يتبع SoloLearn أسلوب التشجيع لتحفيزك على الالتزام بالدروس، حيث يمنحك نقاطًا أثناء تعلمك، ويمكنك التنافس مع المتعلمين الآخرين في جميع أنحاء العالم.

التطبيق متاح لمستخدمي أجهزة أندرويد على متجر جوجل بلاي، ولمستخدمي آيفون، وآيباد عبر آب ستور.

4- تطبيق Encode:

يُركز تطبيق Encode على تعلم لغات JavaScript، وPython، وHTML، وCSS مما يجعله خيارًا مثاليًا إذا كنت تتطلع إلى تعلم البرمجة لتطوير الويب.

أهم ما يميز هذا التطبيق أنه يتضمن شريط اختصار مع رموز غالبًا ما تستخدم في البرمجة سواء كنت تستخدم نظام Android، أو iOS ليوفر عليك عناء البحث عن هذه الرموز من خلال لوحة المفاتيح الخاصة بك. كما يمكنك استخدامه في وضع عدم الاتصال.

التطبيق متاح لمستخدمي أجهزة أندرويد على متجر جوجل بلاي، ولمستخدمي آيفون، وآيباد عبر آب ستور.

5- تطبيق Codeacademy Go:

يعتبر تطبيق Codecademy Go خيارًا مثاليًا إذا كنت بالفعل مستخدمًا لمنصة Codecademy لتعلم البرمجة، حيث يمكنك مراجعة وممارسة ما تعلمته في أي وقت وأي مكان أثناء التنقل بهاتفك الذكي.

التطبيق متاح مجانًا لمستخدمي أجهزة أندرويد على متجر جوجل بلاي، ولمستخدمي آيفون، وآيباد عبر آب ستور.

# data[].attributes.attachment_link.title
5 تطبيقات مهمة تسهل عليك تعلم البرمجة | البوابة العربية للأخبار التقنية

# data[].attributes.attachment_link.description
تشير الإحصائيات إلى أن معدلات توظيف مطوري البرمجيات ستزداد بنسبة 24% بحلول 2026، ولكن احتراف البرمجة يتطلب منك الكثير من الممارسة، فحتى المبرمجين المتمرسين لايزال لديهم الكثير لتعلمه، بسبب سرعة تطور هذا المجال. سواء كنت جديدًا في عالم البرمجة، أو أحد المبرمجين المخضرمين، فإن الممارسة تجعلك محترفًا، ولهذا السبب قمنا بتجميع قائمة من تطبيقات البرمجة التي ستساعدك على تطوير مهاراتك من خلال كتابة الأكواد البرمجية أينما كنت.

# data[].attributes.attachment_link.title
ما هو نظام التشغيل (OS) | كيف ويندوز

# data[].attributes.attachment_link.readable_text
يستحيل على العالم اليوم أن يعيش، أو يُنهي أعماله بدون الحاسوب، فلا نستطيع أن نتخيّل شركة طيران، أو معمل طبيّ، أو مصلحة حكوميّة، أو حتى مكتبة بسيطة بدون الحاسوب، ولكن الحاسوب بمكوّناته الماديّة أيًّا كانت درجة تقدُمها، غير معدّة للعمل مع كل ذلك الكمّ من المجالات المتشعّبة من مناحِ الحياة، فضلًا عن أن ّ الحاسوب بمكوّناته الماديّة تلك ، هو مجرد آلة صمّاء غير قادرة على إدارة ذاتها تلقائيًّا، أو حتّى أن يتعرّف على ما يحتويه من مكوّنات.

وهنا يأتي دور البرمجيّات، التي تجعل من الحاسوب كائنًا حيًّا قادرًا على الفهم والإدراك، بل ويكون متخصّصا في أي فرع من فروع العلم، والبرمجيّات هي موضوع مقالنا، فتابعونا.

ماهي برمجيّات الحاسوب Computer Software؟

تخيّل أنّ شخصًا غير متخصّص عُرضت عليه مسألة رياضيّة، وطلب منه حلّ تلك المسألة، فبدون شك لن يستطيع حلّها أو حتى فهم رموزها، ولكن إذا كان هذا الشخص متخصّصًا في الرياضيّات فسوف يحلّها بكل بساطة، ما الفارق بينهما إذن؟.

إنّ الفارق بينهما هو سلسلة أفكار الحلّ التي تعلّمها الثاني، وتمّ تخزينها في ذاكرته الواعية، فالأول ليس لديه سلسلة أفكار الحلّ، والثاني لديه تلك السلسلة، فما بالُنا لو كان الشخص الأول فاقدًا للوعيّ أساسًا، فهكذا البرمجيّات تعطي الحاسوب الحياة أولًا، بمجرّد الضغط على زرّ الباور، فتقوم بربط مكوّنات الحاسوب ببعضها البعض، وتستعدّ كل قطعة من مكوّناته لأداء مهامّها.

وهذه النوعيّة من البرامج يُطلق عليها برامج التشغيل، أما البرامج التي تعطي سلسلة الحلّ للحاسوب، أو سلسلة إنهاء أي مهمّة من المهامّ، فهي البرامج التطبيقيّة المتخصّصة في كل فرع من فروع العلم.

أقسام البرمجيّات

تنقسم برمجيّات الحاسوب إلى قسمين، يندرج تحت كلّ قسم منهما عدّة أنواع من البرمجيّات ، و جميعها تسمى بالسوفتوير، ويمكن توضيحهما في الآتي:

أولًا: برامج التشغيل

وهي مجموعة البرامج التي تتكوّن من سلسلة من الأوامر، تمّ ترميزها بلغة الآلة (0 1) - زيرو ون - وهي بدورها تنقسم إلى نوعين هما:

برامج ثابتة: وهي برامج صغيرة حجمها لا يتعدّى عدّة ميجات، وتأتي مخزّنة في ذاكرة الروم (ROM )، سبق إعدادها من قِبل الشركة المصنّعة للحاسوب، ويقتصر دورها على تعريف الحاسوب بمكوّناته بمجرد توصيل الباور، ثمّ سحب برنامج التشغيل من الهاردديسك إلى ذاكرة الرام ( RAM )، ثم الى البروسيسور Processor ، فيُشرع الحاسوب في الإقلاع، وهنا ينتهي دورها.

برامج متطورة: وهي البرامج التي تعمل كوسيط بين المستخدم والحاسوب، فتعمل على إدارة الحاسوب، وأن يفهم الحاسوب ما يُعطى إليه من أوامر، وإدارة الملحقات الأخرى كالطباعة، والصوتيّات، والماسح الضوئيّ، وما إلى ذلك، مثل برنامج الويندوز، ولينكس، وسولاريس ، وغيرها.

ثانيًا: البرامج التطبيقيّة

وهي البرامج المتخصّصة، ويتم تصميمها لأداء مهامّ بعينها، فهناك البرنامج المحاسبيّ، والذي تمّ إعداده لإنهاء الأعمال المحاسبيّة، والبرامج الصيدلانيّة، والهندسيّة، والطبيّة، وغيرها، وهي عبارة عن مجموعة من الأوامر المتسلسلة والمرتّبة منطقيّّا على هيئة خريطة حلّ، تبدأ بتلقّي المعطيات لمهمّة معينة وتشغيلها، ثمّ إنتهاء بالحلّ.

ويتمّ إعدادها بلغة الآلة التي يفهمها الحاسوب، ولكن بواجهة متقدّمة يفهمها المستخدم، فواجهة الأمر تكون مثلًا Copy، ولكن الأمر ذاته يتمّ ترميزه بسلسلة من التباديل والتوافيق من الرقمين (0 1،( فيكون شكل الأمر بلغة الآلة مثلًا (100100)، وهكذا.

تعريف برمجيّات الحاسوب

برمجيّات الحاسوب تتشابه فيما بينها من حيث؛ استخدام لغة الآلة في ترميزها، أو تشفيرها، وفي إعطاء واجهة لها بلغة يفهمها المستخدم، وكذلك تتشابه في استخدام المنطق الرياضيّ في تصميم تسلسل خريطة الحلّ، واستعمال الخوارزميّات لحلّها.

وعلى ذلك يمكن تعريف البرمجيّات بأنها: "مجموعة من الأوامر المرتّبة في تسلسل منطقيّ على هيئة خريطة تدفّق، باستخدام الخوارزميّات الرياضيّة، وتمّ ترميزها بلغة الآلة، وبواجهة لغة المستخدم، مصمّمة لإنهاء مهمّة محدّدة تبدأ بتلقي المعطيات وتشغيلها، انتهاء بالحلّ".

اقرا أيضا

أعطى تصميم الحاسوب على هيئة مكوّنات هاردوير ثابتة نسبيًا، وسوفتوير متطوّرة، مرونة عالية وانتشارًا واسعًا للحاسوب في كافّة المجالات، فأحسن مصمّم الحاسوب صنعًا إذ جعل فكرة البرمجيّات -السوفتوير- مستقلة بذاتها فيمكن تطويرها، والتي جعلت الحاسوب الواحد يصلح لمئات الأغراض.

# data[].attributes.attachment_link.title
ما هي برمجيات الحاسوب؟ وأقسامها ووظائف كل منها؟ - Electronic Bubble

# data[].attributes.attachment_link.description
يستحيل على العالم اليوم أن يعيش، أو يُنهي أعماله بدون الحاسوب، فلا نستطيع أن نتخيّل شركة طيران، أو معمل طبيّ، أو مصلحة حكوميّة، أو حتى مكتبة بسيطة بدون الحاسوب، ولكن الحاسوب بمكوّناته الماديّة أيًّا كانت درجة تقدُمها، غير معدّة للعمل مع كل ذلك الكمّ من المجالات المتشعّبة من مناحِ الحياة، فضلًا عن أن ّ الحاسوب بمكوّناته الماديّة تلك ، هو مجرد آلة صمّاء غير قادرة على إدارة ذاتها تلقائيًّا، أو حتّى أن يتعرّف على ما يحتويه من مكوّنات.

# data[].attributes.attachment_link.readable_text
تُعرف أنظمة التشغيل (Operating Systems) بأنها الأنظمة البرمجيّة الذي تعمل بها جميع البرمجيّات والبرامج، مثل: متصفحات الإنترنت، وبرامج الميديا، وبرامج تحرير النصوص، وغيرها من البرامج المشهورة، وتدير هذه الأنظمة ذاكرة جهاز الحاسوب والعمليات التي تُجرى عليه؛ فمن دونها لن يكون للحاسوب أي فائدة إطلاقًا، وعادةً ما يتم تحميل نُظم التشغيل على أي جهاز قبل شرائه، فالحاسوب يحتاج لنظام تشغيل لكي يعمل بشكلٍ كامل، ومن المُمكن تعريف أنظمة التشغيل أيضًا بأنّها برامج ذات طابع خاص تعمل كواجهةٍ رسمويّة بين المُستخدم ومكونات الحاسوب.

تتنوع أنظمة التشغيل نظرًا لِعدة أسباب؛ فهي تختلف فيما بينها من حيث طُرق التشغيل، والعرض، والمكونات، والهدف من استخدامها، وتختلف أيضًا حسب حداثة الجِهاز المُستخدم، ولكن أبرز ما يُميز نظام عن آخر، ما يُسمى بالواجهة الرسمويّة (GUI)؛ هذه الواجهات تتيح للمُستخدم استخدام الفأرة للتوجيه، والقوائم المُختلفة، وعرض كل شيء على الشاشة، سواء الرسومات أو النصوص وغيرهما، ولكل نظام تشغيل واجهة مُختلفة في الشكل، والمظهر، وطريقة الاستخدام، وتوجد العديد من أنظمة تشغيل الحاسوب، إلّا أن هناك ثلاث برامج تعد الأشهر من غيرها، وهي: Microsoft Windows، وmacOS، وLinux.

يعد نظام تشغيل القرص، دوس (DOS) أول نظام تشغيل استُخدم لواجهات الكمبيوتر، وكان من إنتاج شركة (IBM)، في عام 1981م، فقد احتاجت أجهزة الكمبيوتر لأنظمة التشغيل بسبب انتشار الكمبيوترات الشخصية، ووجوب وجود نظام تشغيل يدير الكمبيوتر ويُسهِّل استخدامه؛ فظهرَ نظام الدوس الذي يعمل باستخدام الواجهات النصية المُستندة للنصوص، والتي تُعطي تعليمات وأوامر بسيطة مُختلفة، وهذه الأوامر يبعثها البرنامج ويستقبلها بشكل أحرف ورموز.

ويندوز (Windows)

يعد نظام تشغيل ويندوز (Windows) من أشهر وأبرز أنظمة التشغيل لأجهزة الكمبيوتر، وهو أكثر أنظمة التشغيل استخدامًا حول العالم؛ بسبب بساطته وسهولة استخدامه، وقد ظهر أول إصدار لهذا البرنامج في عام 1985م من قبل شركة مايكروسوفت العالمية؛ وكان في البداية لوحة رسوميّة مُساعدة لكتابة الأوامر في نظام دوس (DOS)، وفي عام 1995م، ظهر أول نظام مُستقل لهذه الشركة بهدف التحكُم التام في نظام تشغيل الكمبيوتر دون الحاجة للإدخال اليدوي لكُل أمر، بالإضافة أنّه أوجد إضافة جديدة كانت غير متوافرة من قبله؛ وهي تشغيل الفيديو وألعاب الفيديو.

بساطة الاستخدام؛ إذ يُمكن ببساطة استخدامه من قبل أي شخص.

الإنتاجية العالية؛ فيُمكن من خلاله إنتاج قواعد للبيانات والعروض التقديمية والملفات وغيرها من الأوامر.

أفضل نظام تشغيل للألعاب.

تحديث البرنامج بشكل تلقائي.

دعم كبير ولا مُتناهي لأي مُشكلة تواجه المُستخدم من قبل مايكروسوفت الشركة المُصنعة.

لينكس (LINUX)

يعد نظام تشغيل لينكس (LINUX) واحدًا من أكثر الأنظمة شُهرةً واستخدامًا من بين أنظمة التشغيل، وهو يشبه طريقة عمل الويندوز، لكنه نظام مفتوح؛ أي يسمح للمستخدمين بالوصول إلى جميع تطبيقات أجهزة ونظام الحاسوب لتنفيذ العملية والتعديل عليها، وما يُميزه أنه لا توجد شركة واحدة مسؤولة عن تطويره، بل يعتمد على نظام التطوير التعاوني ما بين الشركات.

يعد نظام تشغيل ماك (Mac OS) نظامًا قديمًا، فقد أصدرته شركة ماكالأمريكية، في عام 1984م، وكان قائمًا على نظام الرسوم البيانية بعكس الأنظمة الأخرى، أما حاليًا بعد استحواذ شركة (Apple Inc) على النظام، أصبحمُخصّصًا بشكل أساسيّ لأجهزة أبل ماكنتوش اللوحية والمحمولة، ويتحكم النظام بواجهة استخدام هذه الأجهزة، وبتشغيل التطبيقات وتحديثها وتطويرها.

أندرويد (Android)

أُصدر نظام تشغيل أندرويد (Android) لأول مرة في عام 2008م من قبل شركة جوجل، وهو من أشهر أنظمة التشغيل للهواتف الذكية والحواسيب اللَّوحية، وبأحدث الإصدارات يتحكم البرنامج بجميع أنظمة الهاتف الذي يعمل بهذا النظام، وهو مدعوم بأنظمة حماية وتشغيل شركة جوجل، ولديه الكثير من التطبيقات المجانية التي يُمكن تحميلها من قِبل المُستخدم.

يُعرف نظام آي أو إس (IOS) بأنه نظام تشغيل محمول خاص يعمل على الأجهزة المحمولة وأجهزة الكمبيوتر المكتبية والمحمولة واللوحية الخاصة بشركة آبل، وهو ثاني أكبر نظام تشغيل في العالم بنسبة 13.4% من المُستخدمين بعد نظام أندرويد الأول عالميًا، ونظام تشغيله مُشابه لنظامي الماك والأندرويد، لكن لا يُمكن فيه الوصول لبيانات ملفات التعريف وتعديلها إلا من قبل المُصممين للنظام.

واجهة النظام سهلة الاستخدام.

يتوافر في متجر النظام أكثر من 1.2 مليون تطبيق.

نظام تشغيل آمن ومُستقر.

جودة عالية للصورة المُلتقطة بواسطة الأجهزة التي تعمل بهذا النظام.

نظام مُتعدد اللغات؛ أي أنه يُمكن تحميله باختيار أي لغة مشهورة من لُغات العالم.

هايكو (Haiku)

يعد نظام التشغيل هايكو (Haiku) أحد الأنظمة الحديثة مفتوحة المصدر، التي تستخدم نظام تشغيل (NewOS)، بدأ استخدامه في عام 2001م باسم (OpenBeOS)، ولهذا النظام عدة مزايا ندرجها فيما يأتي:

كروم أو إس (Chrome OS)

يعد نظام كروم أو إس (Chrome OS) نوعًا من أنظمة التشغيل المُتخصصة؛ فهو يعتمد على نظام وتطبيقات كروم فقط، وتعتمد برمجتيه على خصائص أنوية اللينكس، أُصدر أول مرة في 15 حزيران/يونيو 2011 من قبل شركة Gentoo Linux، وتم تطويره من قبل شركة جوجل، وصُنع وطوِّر هذا النظام بشكل خاص لأجهزة ChromeBooks، ولكن من الإمكان استخدامه على أجهزة الحاسوب الأخرى.

نظام تشغيل قوي جدًا.

نظام مجاني.

مساحة تخزين مجانية تبلغ نحو 100 جيغابايت.

خفيف الوزن.

دعمه لتطبيقات الأندرويد.

يعد نظام تشغيل مينيوت (MENUET) من أقل الأنظمة مساحة في عالم أنظمة التشغيل؛ فهو يبلغ نحو 1.44 ميغابايت فقط من المساحة التخزينية للجهاز، وهو نظام تشغيل بسيط تمت برمجته بواسطة لغة التجميع من المُبرمج (Ville Turjanmaa)، ويُمكن تحميله واستخدامه لأي جهاز ومع نظام تشغيل آخر، ولكن النظام لا يُمكن التعديل عليه؛ فالكود المصدري مغلق للجمهور، ولا تزال هذه البرمجة قيد التطوير حتى وقتنا الراهن.

نظام (eComStation)

يعد نظام (eComStation) أقل أنظمة التشغيل شُهرة، وقد أنشأته شركتا مايكروسوفت و(IBM)، وبعدما تخلت شركة مايكروسوفت عن هذا النظام، تولت شركة (IBM) تطويره، ولكن لدى هذا النظام عِدة سلبيات جعلته من أقل أنظمة التشغيل شُهرة، ولعل أبرزها ما يأتي:

تايلز (TAILS)

يعد نظام تشغيل تايلز (TAILS) من الأنظمة الفريدة والمُختلفة عن باقي أنظمة التشغيل، فهو مُصمم للحِماية والتشفير والسرية خلال استخدام شبكة الإنترنت، والبرنامج من تطوير شركة لينكس، ويُستخدم بواسطة مُتصفح خاص يُسمى (Tor) يضمن السرية والخصوصية والأمان للمُستخدم، ويتميز تايلز بأنه لا يُمكن تحميله على القرص الصلب الخاص بالجهاز؛ بل يعمل بشكل تلقائي من قرص صلب خارجي يحوي هذا النظام، وهذا يزيد من الخصوصية والأمان.

يؤدّي نظام التشغيل كثيرًا من الوظائف التي تَجعل استخدام الحاسوب مُمكنًا بالنسبة للإنسان؛ نظرًا إلى أنّ لغة الحاسوب لا تُشبه لغة البشر، والتعامل معها يحتاج إلى لغة برمجية تؤدي دور الوَسيط بين المُستخدم والحاسوب بمُكوّناته المختلفة، وتتلخص هذه الوظائف فيما يأتي:

فيديو لغة الحواسيب والهواتف

ما هي وسيلة التواصل ما بين جهاز الحاسوب والمستخدم؟ وما هي أشهر أنظمة التشغيل للحواسيب والهواتف حول العالم؟

تُعد أنظمة التشغيل مجموعة من البرمجيات عالية الجودة صُمِمت من قِبل مُحترفين وخُبراء التصميم، وأهمية أنظمة التشغيل عديدة؛ وتتمثل في أنها تتحكم في الأجهزة الإلكترونية، وتُسهِل استخدام الأدوات المُختلفة الموجودة فيها، فلا يُمكن استخدام أي جهاز حاسوب أو هاتف دون وجود نظام تشغيل؛ فلا يُمكن فَتح واستخدام أي برنامج وتطبيق إلا باستخدام نظام التشغيل المُناسب.

1. ^ "What is an operating system?", gcfglobal, Retrieved 24/8/2021. Edited.

2. Priya Pedamkar, ^ "What is DOS?", Educba, Retrieved 24/8/2021. Edited.

3. Samuel Gibbs (2/10/2014), ^ "From Windows 1 to Windows 10: 29 years of Windows evolution", The guardian, Retrieved 24/8/2021. Edited.

4. Brandon Miller (19/4/2017), ^ "15 Pros and Cons of Linux", green garage blog, Retrieved 24/8/2021. Edited.

5. Junaid Rehman, ^ "Advantages and disadvantages of Chrome operating system", It release, Retrieved 24/8/2021. Edited.

# data[].attributes.attachment_link.keywords[]
برمجة وتصميم المواقع

# data[].attributes.attachment_link.title
أنظمة التشغيل وأنواعها - موضوع

# data[].attributes.attachment_link.description
مفهوم أنظمة التشغيل . أنواع أنظمة التشغيل . دوس (DOS) . ويندوز (Windows) . لينكس (LINUX) . ماك (Mac OS) . أندرويد (Android) . آي أو إس (IOS) . هايكو

# data[].attributes.body
نواع الصور

# data[].attributes.attachment_link.title
Quel disque dur externe acheter - Ma liste d'achat

# data[].attributes.body
وحدات الادخال و الاخراج في الحاسوب

# data[].attributes.attachment_link.title
وحدات الادخال والاخراج في الحاسوب

# data[].attributes.headline
وحدات الادخال و الاخراج في الحاسوب

# data[].attributes.subject
وحدات الادخال و الاخراج في الحاسوب

# data[].attributes.attachment_link.title
وحدات الادخال و الاخراج في الحاسوب

# data[].attributes.headline
1- أنواع الصور النقطية وخصائصها

# data[].attributes.subject
1- أنواع الصور النقطية وخصائصها

# data[].attributes.attachment_link.title
بحث حول أنواع الصور

# data[].attributes.headline
2- امتدادات وصيغ الصور المتجهية وطرق تحريرها

# data[].attributes.subject
2- امتدادات وصيغ الصور المتجهية وطرق تحريرها

# data[].attributes.attachment_link.title
الصور المتجهية

# data[].attributes.headline
3- أنواع الشاشات وخصائصها والفرق بينها

# data[].attributes.subject
3- أنواع الشاشات وخصائصها والفرق بينها

# data[].attributes.body
المكونات المادية للحاسوب

# data[].attributes.headline
4- أنواع التقنيات الخاصة بالشاشات والفرق بينها

# data[].attributes.subject
4- أنواع التقنيات الخاصة بالشاشات والفرق بينها

# data[].attributes.attachment_link.title
أنواع التقنيات الخاصة بالشاشات  والفرق بينها

# data[].attributes.attachment_link.title
الصور والشاشات group3