An Entity of Type: Band, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time. In some operating systems, e.g. OS/360 and successors, memory is managed by the operating system. In other operating systems, e.g. Unix-like operating systems, memory is managed at the application level.

Property Value
dbo:abstract
  • إدارة الذاكرة (بالإنجليزية: Memory management)‏ هي عملية إستغلال ذاكرة الحاسوب بشكل أمثل بحيث يمكن الاستفادة من كل جزء من هذه الذاكرة دون إهدار أو تعطيل لهذه الأجزاء وبذلك يمكن تشغيل أكبر عدد ممكن من البرامج في آن واحد. (ar)
  • En informàtica, la gestió de la memòria (o bé administració de memòria) és proveir de porcions de la memòria als processos a mesura que els vagin necessitant, i alliberar aquestes porcions de memòria a mesura que ja no la necessitin. La gestió de la memòria és un procés crític per al correcte funcionament del sistema. Tot i que durant els inicis de la informàtica els usuaris eren els responsables de fer aquesta gestió, actualment el responsable en sol ser el sistema operatiu. Seguint amb el concepte de màquina virtual d'un sistema operatiu (la màquina virtual és aquella màquina més senzilla d'utilitzar que el sistema operatiu ofereix als usuaris i aplicacions del sistema) amb la memòria tenim també un nivell d'abstracció més i utilitzem el que s'anomena Memòria Virtual que separa l'espai lògic d'adreces de l'espai d'adreces real, que permet que mitjançant tècniques com l'intercanvi (swapping) es pugui fer un millor ús de la memòria RAM. La part del sistema operatiu que administra la memòria és l'administrador de memòria. La seva funció és clara: portar en un registre les parts de memòria que s'estan utilitzant i les que no. D'aquesta manera, reservarà espai de memòria per als nous processos i alliberarà l'espai dels processos que han finalitzat.També s'encarrega de gestionar l'intercanvi de dades entre memòria i disc, sempre que els processos siguin tan grans que no càpiguen d'un sol cop a la memòria. (ca)
  • Správa paměti (anglicky memory management) je v informatice soubor metod, které operační systém používá při přidělování operační paměti jednotlivým procesům, které jsou v počítači spuštěny. Může zajišťovat i následné uvolňování paměti (když už proces paměť nepotřebuje), nastavovat ochranu paměti a eventuálně i správu adresace paměti. Všechny tyto činnosti v operačním systému zajišťuje „správce paměti“ (anglicky memory manager, MM). Pro některé činnosti je obvykle nutná hardwarová podpora v procesoru, kterou zajišťuje jednotka správy paměti (MMU). Garbage collection je automatizovaná správa paměti, která je součástí programu nebo jeho běhového prostředí a umožňuje automaticky uvolňovat již nepoužívanou paměť (na rozdíl od „ruční“ správy paměti, čímž se myslí volání příslušné funkce v programu). (cs)
  • Die Speicherverwaltung (engl. memory management) ist der Teil eines Betriebssystems, der (Teile der) Speicherhierarchie verwaltet. Insbesondere soll sie einen effizienten und komfortablen Zugriff auf den physischen Arbeitsspeicher (Hauptspeicher) eines Computers ermöglichen. In diesem Zusammenhang spricht man auch von der Hauptspeicherverwaltung. Das Verwalten der höheren Ebenen der Speicherhierarchie wie beispielsweise des Cache-Speichers wird dagegen üblicherweise von der Hardware vorgenommen. Eine der Schlüsselfunktionen eines Betriebssystems in der Speicherverwaltung ist normalerweise die Bereitstellung eines virtuellen (logischen) Adressraums für jeden Prozess. Man kann sich darunter eine Menge von Speicheradressen vorstellen, auf die Prozesse zugreifen können. Dieser Adressraum ist entkoppelt vom physischen Arbeitsspeicher des Computers – er kann sowohl größer als auch kleiner als dieser sein. Die virtuellen (logischen) Adressen gehen nicht direkt an den Speicherbus, sondern an die Memory Management Unit (MMU, dt. Speicherverwaltungseinheit), welche die virtuellen Adressen auf die physischen Adressen abbildet. Normalerweise lädt das Betriebssystem einen Teil des Adressraumes in den Arbeitsspeicher, ein anderer Teil bleibt auf der Festplatte. Bei Bedarf werden Programmteile zwischen den beiden Speichern hin- und hergeschoben. Je nach Einsatzbereich des Computers werden zur Speicherverwaltung unterschiedliche Techniken verwendet. In Multiuser-/Multiprogramming-Betriebssystemen nutzt man heute meist die virtuelle Speicherverwaltung mit diversen Optimierungsmöglichkeiten im Demand-Paging-Verfahren. (de)
  • La gestión de memoria o administración de memoria es el acto de gestionar la memoria de un dispositivo informático. El proceso de asignación de memoria a los programas que la solicitan.​ Los sistemas de memoria virtual separan las direcciones de memoria utilizadas por un proceso de las direcciones físicas reales, permitiendo la separación de procesos e incrementando la cantidad efectiva de memoria de acceso aleatorio utilizando la paginación. La calidad de la gestión de la memoria es crucial para las prestaciones del sistema. El recolector de basura es la asignación y liberación automática de los recursos de memoria para un programa. La implementación suele ser a nivel del lenguaje de programación en contraposición a la gestión manual de memoria, que asigna y libera los recursos de memoria de una computadora de forma explícita. La administración de memoria se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible. Para poder lograrlo, la operación principal que realiza es trasladar la información que deberá ser ejecutada por la unidad central de procesamiento o procesador, a la memoria principal. Actualmente esta administración se conoce como memoria virtual, porque no es la memoria física del procesador sino una memoria virtual que la representa. Entre algunas ventajas, esta memoria permite que el sistema cuente con una memoria más extensa teniendo la misma memoria real, por lo que esta se puede utilizar de manera más eficiente. Y por supuesto, que los programas que son utilizados no ocupen lugar innecesario. Las técnicas que existen para la carga de programas en la memoria son: partición fija, que es la división de la memoria libre en varias partes (de igual o distinto tamaño) y la partición dinámica, que son las particiones de la memoria en tamaños que pueden ser variables, según la cantidad de memoria que necesita cada proceso. Entre las principales operaciones que desarrolla la administración de memoria se encuentran la reubicación, que consiste en trasladar procesos activos dentro y fuera de la memoria principal para maximizar la utilización del procesador; la protección, mecanismos que protegen los procesos que se ejecutan de interferencias de otros procesos; uso compartido de códigos y datos, con lo que el mecanismo de protección permite que ciertos procesos de un mismo programa que comparten una tarea tengan memoria en común. (es)
  • Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time. Several methods have been devised that increase the effectiveness of memory management. Virtual memory systems separate the memory addresses used by a process from actual physical addresses, allowing separation of processes and increasing the size of the virtual address space beyond the available amount of RAM using paging or swapping to secondary storage. The quality of the virtual memory manager can have an extensive effect on overall system performance. In some operating systems, e.g. OS/360 and successors, memory is managed by the operating system. In other operating systems, e.g. Unix-like operating systems, memory is managed at the application level. Memory management within an address space is generally categorized as either manual memory management or automatic memory management. (en)
  • La gestion de la mémoire est une forme de gestion des ressources appliquée à la mémoire de l'ordinateur. L'exigence essentielle de la gestion de la mémoire est de fournir des moyens d'allouer dynamiquement des portions de mémoire aux programmes à leur demande, et de les libérer pour réutilisation lorsqu'elles ne sont plus nécessaires. Ceci est essentiel pour tout système informatique avancé où plus d'un processus peuvent être en cours à tout moment. (fr)
  • メモリ管理(メモリかんり)とは、コンピュータのメモリを管理するもの。単純化すれば、プログラム(プロセスなど)の要求に応じてメモリの一部を割り当てる方法と、そのメモリが不要となったときに再利用のために解放する方法を提供する。 今日では、CPU(メモリ管理ユニット)とオペレーティングシステムが協働して仮想記憶やメモリ保護を提供するのが一般的である。 また、各種データ構造を線形空間であるメモリに展開する場合の管理手法(アルゴリズム)についても「メモリ管理」と呼ばれる。 (ja)
  • La memoria principale di un elaboratore costituisce una componente fondamentale al supporto del concetto di processo.Un processo, infatti, per essere definito tale, ossia programma in esecuzione, deve avere a disposizione uno spazio di memoria nella quale saranno allocati dati e istruzioni del programma stesso. (it)
  • 메모리 관리(memory management)는 컴퓨터 메모리에 적용된 리소스 관리의 일종이다. 가장 단순한 형태의 메모리 관리 방법은 프로그램의 요청이 있을 때, 메모리의 일부를 해당 프로그램에 할당하고, 더 이상 필요하지 않을 때 나중에 다시 사용할 수 있도록 할당을 해제하는 것이다. 이는 하나 이상의 프로세스가 언제든 실행되는 고급 컴퓨터 시스템에 필수적이다. 가상 메모리 시스템은 프로세스가 사용하는 메모리 주소를 실제 물리 주소와 구분한다. 이로써 프로세스를 구분하고 디스크 스왑 처리를 사용하여 효과적으로 사용할 수 있는 램의 양을 늘릴 수 있게 된다. 가상 메모리 관리자의 품질은 전반적인 시스템 성능에 큰 영향을 미친다. 쓰레기 수집은 프로그램을 위한 컴퓨터 메모리 리소스를 자동으로 할당하고 할당을 해제한다. 프로그래밍 언어 수준에서 일반적으로 추가되어 있는 것이며, 와 대조된다. (ko)
  • Geheugenbeheer is een paradigma bij het programmeren van computerprogramma's. Het is een van de belangrijkste activiteiten binnen de werking van een computer welke op alle niveaus terugkomt van hardware tot aan applicatiesoftware. (nl)
  • Zarządzanie pamięcią – sposób zarządzania pamięcią komputera z poziomu systemu komputerowego. Głównym wymaganiem stawianym procesowi zarządzania pamięcią jest dostarczenie możliwości dynamicznego alokowania pamięci oraz jej zwalniania, gdy już nie jest potrzebna. Jest to kluczowe wymaganie dla zaawansowanych systemów, w których jednocześnie uruchomionych jest wiele procesów. Opracowano różne metody, które zwiększają efektywność zarządzania pamięciową. Jedną z nich jest mechanizm pamięci wirtualnej, który pozwala na odseparowanie adresów logicznych, używanych przez proces, od adresów fizycznych. Mechanizm ten ułatwia tworzenie rozbudowanych aplikacji oraz zwiększa efektywność wykorzystania pamięci RAM, pozwalając na używanie stronicowania pamięci oraz rozszerzenie dostępnej pamięci za pomocą pamięci zewnętrznej. Sposób zrealizowania mechanizmu pamięci wirtualnej może mieć istotny wpływ na działanie całego systemu. (pl)
  • Менеджер памяти — часть компьютерной программы (как прикладной, так и операционной системы), обрабатывающая запросы на выделение и освобождение оперативной памяти или (для некоторых архитектур ЭВМ) запросы на включение заданной области памяти в адресное пространство процессора. Основное назначение менеджера памяти в первом смысле — реализация динамической памяти. Например, в языке C динамическое выделение памяти производится через функцию <a href="/wiki/Malloc" class="mw-redirect" title="Malloc">malloc</a>. (ru)
  • Існує набір способів управління пам'яттю пам'яттю комп'ютера, що здійснюється менеджером пам'яті. Головною задачею управління пам'яттю є надання можливості для динамічного виділення ділянок пам'яті для програм на їх прохання, та її звільнення для повторного використання, коли вона вже не потрібна. Це є важливим для будь-якої складної комп'ютерної системи, де може бути більше одного активного процесу, що працюють одночасно. Створено кілька методів, які підвищують ефективність управління пам'яттю комп'ютера. Системи з віртуальною пам'яттю розділяють адреси в пам'яті, що використовуються процесом, від реальних фізичних адрес, що дозволяє відокремлювати процеси і підвищити ефективність доступу до вільної RAM за допомогою сторінкової організації або перенесення (свопінгу) даних до вторинних носіїв пам'яті. Ефективність менеджера віртуальної пам'яті може мати значний вплив на загальну продуктивність системи. (uk)
  • Gerenciamento (ou gestão) de memória é um complexo campo da ciência da computação e são constantemente desenvolvidas várias técnicas para torná-la mais eficiente. Em sua forma mais simples, está relacionado em duas tarefas essenciais: * Alocação: Quando o programa requisita um bloco de memória, o gerenciador o disponibiliza para a alocação; * Reciclagem: Quando um bloco de memória foi alocado, mas os dados não foram requisitados por um determinado número de ciclos ou não há nenhum tipo de referência a este bloco pelo programa, esse bloco é liberado e pode ser reutilizado para outra requisição. (pt)
  • 内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效、快速的分配,并且在适当的时候释放和回收内存资源。 一個執行中的程式,譬如網頁瀏覽器在個人電腦或是圖靈機(Turing machine)裡面,為一個进程將資料轉換於真實世界及電腦記憶體之間,然後將資料存於電腦記憶體內部(在電腦科學,一個程式是一群指令的集合,一個进程是電腦在執行中的程式)。記憶體能被實際組織在許多方法裡頭,例如磁帶或是磁盤,或是小陣列容量的微晶片。從1950年代開始,計算機變的更複雜,它被連線於許多種類的記憶體。記憶體管理的任務也變得複雜,甚至必須要在同一台機器上相同的時間執行多個进程。 在記憶體內,一個程式(作業系統)在每一個資料區段持續地追蹤實體位置,及移動實體上的資料去改善其效能及保證可靠性,對於每個(user-level)的程式,作業系統分配一段虛擬記憶體空間,當行程起始時,不需要移動資料到實體裝置間,資料存於磁碟內的虛擬記憶體空間,也不需要去配置主記憶體空間給該行程,當使用者有需要用到時,他們才会很自由地載入到主記憶體內。 可以想像一個很大的程式,當他執行時變成行程,而大部分的記憶體空間都被存到磁碟內虛擬記憶體位址,需要用到的部分才被載入到記憶體內部提供服務。 (zh)
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 66924 (xsd:integer)
dbo:wikiPageLength
  • 20438 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1121044497 (xsd:integer)
dbo:wikiPageWikiLink
dbp:date
  • 2012-05-10 (xsd:date)
  • 2016-03-05 (xsd:date)
dbp:url
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • إدارة الذاكرة (بالإنجليزية: Memory management)‏ هي عملية إستغلال ذاكرة الحاسوب بشكل أمثل بحيث يمكن الاستفادة من كل جزء من هذه الذاكرة دون إهدار أو تعطيل لهذه الأجزاء وبذلك يمكن تشغيل أكبر عدد ممكن من البرامج في آن واحد. (ar)
  • La gestion de la mémoire est une forme de gestion des ressources appliquée à la mémoire de l'ordinateur. L'exigence essentielle de la gestion de la mémoire est de fournir des moyens d'allouer dynamiquement des portions de mémoire aux programmes à leur demande, et de les libérer pour réutilisation lorsqu'elles ne sont plus nécessaires. Ceci est essentiel pour tout système informatique avancé où plus d'un processus peuvent être en cours à tout moment. (fr)
  • メモリ管理(メモリかんり)とは、コンピュータのメモリを管理するもの。単純化すれば、プログラム(プロセスなど)の要求に応じてメモリの一部を割り当てる方法と、そのメモリが不要となったときに再利用のために解放する方法を提供する。 今日では、CPU(メモリ管理ユニット)とオペレーティングシステムが協働して仮想記憶やメモリ保護を提供するのが一般的である。 また、各種データ構造を線形空間であるメモリに展開する場合の管理手法(アルゴリズム)についても「メモリ管理」と呼ばれる。 (ja)
  • La memoria principale di un elaboratore costituisce una componente fondamentale al supporto del concetto di processo.Un processo, infatti, per essere definito tale, ossia programma in esecuzione, deve avere a disposizione uno spazio di memoria nella quale saranno allocati dati e istruzioni del programma stesso. (it)
  • 메모리 관리(memory management)는 컴퓨터 메모리에 적용된 리소스 관리의 일종이다. 가장 단순한 형태의 메모리 관리 방법은 프로그램의 요청이 있을 때, 메모리의 일부를 해당 프로그램에 할당하고, 더 이상 필요하지 않을 때 나중에 다시 사용할 수 있도록 할당을 해제하는 것이다. 이는 하나 이상의 프로세스가 언제든 실행되는 고급 컴퓨터 시스템에 필수적이다. 가상 메모리 시스템은 프로세스가 사용하는 메모리 주소를 실제 물리 주소와 구분한다. 이로써 프로세스를 구분하고 디스크 스왑 처리를 사용하여 효과적으로 사용할 수 있는 램의 양을 늘릴 수 있게 된다. 가상 메모리 관리자의 품질은 전반적인 시스템 성능에 큰 영향을 미친다. 쓰레기 수집은 프로그램을 위한 컴퓨터 메모리 리소스를 자동으로 할당하고 할당을 해제한다. 프로그래밍 언어 수준에서 일반적으로 추가되어 있는 것이며, 와 대조된다. (ko)
  • Geheugenbeheer is een paradigma bij het programmeren van computerprogramma's. Het is een van de belangrijkste activiteiten binnen de werking van een computer welke op alle niveaus terugkomt van hardware tot aan applicatiesoftware. (nl)
  • Менеджер памяти — часть компьютерной программы (как прикладной, так и операционной системы), обрабатывающая запросы на выделение и освобождение оперативной памяти или (для некоторых архитектур ЭВМ) запросы на включение заданной области памяти в адресное пространство процессора. Основное назначение менеджера памяти в первом смысле — реализация динамической памяти. Например, в языке C динамическое выделение памяти производится через функцию <a href="/wiki/Malloc" class="mw-redirect" title="Malloc">malloc</a>. (ru)
  • 内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效、快速的分配,并且在适当的时候释放和回收内存资源。 一個執行中的程式,譬如網頁瀏覽器在個人電腦或是圖靈機(Turing machine)裡面,為一個进程將資料轉換於真實世界及電腦記憶體之間,然後將資料存於電腦記憶體內部(在電腦科學,一個程式是一群指令的集合,一個进程是電腦在執行中的程式)。記憶體能被實際組織在許多方法裡頭,例如磁帶或是磁盤,或是小陣列容量的微晶片。從1950年代開始,計算機變的更複雜,它被連線於許多種類的記憶體。記憶體管理的任務也變得複雜,甚至必須要在同一台機器上相同的時間執行多個进程。 在記憶體內,一個程式(作業系統)在每一個資料區段持續地追蹤實體位置,及移動實體上的資料去改善其效能及保證可靠性,對於每個(user-level)的程式,作業系統分配一段虛擬記憶體空間,當行程起始時,不需要移動資料到實體裝置間,資料存於磁碟內的虛擬記憶體空間,也不需要去配置主記憶體空間給該行程,當使用者有需要用到時,他們才会很自由地載入到主記憶體內。 可以想像一個很大的程式,當他執行時變成行程,而大部分的記憶體空間都被存到磁碟內虛擬記憶體位址,需要用到的部分才被載入到記憶體內部提供服務。 (zh)
  • En informàtica, la gestió de la memòria (o bé administració de memòria) és proveir de porcions de la memòria als processos a mesura que els vagin necessitant, i alliberar aquestes porcions de memòria a mesura que ja no la necessitin. La gestió de la memòria és un procés crític per al correcte funcionament del sistema. Tot i que durant els inicis de la informàtica els usuaris eren els responsables de fer aquesta gestió, actualment el responsable en sol ser el sistema operatiu. (ca)
  • Správa paměti (anglicky memory management) je v informatice soubor metod, které operační systém používá při přidělování operační paměti jednotlivým procesům, které jsou v počítači spuštěny. Může zajišťovat i následné uvolňování paměti (když už proces paměť nepotřebuje), nastavovat ochranu paměti a eventuálně i správu adresace paměti. Všechny tyto činnosti v operačním systému zajišťuje „správce paměti“ (anglicky memory manager, MM). Pro některé činnosti je obvykle nutná hardwarová podpora v procesoru, kterou zajišťuje jednotka správy paměti (MMU). (cs)
  • Die Speicherverwaltung (engl. memory management) ist der Teil eines Betriebssystems, der (Teile der) Speicherhierarchie verwaltet. Insbesondere soll sie einen effizienten und komfortablen Zugriff auf den physischen Arbeitsspeicher (Hauptspeicher) eines Computers ermöglichen. In diesem Zusammenhang spricht man auch von der Hauptspeicherverwaltung. Das Verwalten der höheren Ebenen der Speicherhierarchie wie beispielsweise des Cache-Speichers wird dagegen üblicherweise von der Hardware vorgenommen. (de)
  • La gestión de memoria o administración de memoria es el acto de gestionar la memoria de un dispositivo informático. El proceso de asignación de memoria a los programas que la solicitan.​ Los sistemas de memoria virtual separan las direcciones de memoria utilizadas por un proceso de las direcciones físicas reales, permitiendo la separación de procesos e incrementando la cantidad efectiva de memoria de acceso aleatorio utilizando la paginación. La calidad de la gestión de la memoria es crucial para las prestaciones del sistema. (es)
  • Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time. In some operating systems, e.g. OS/360 and successors, memory is managed by the operating system. In other operating systems, e.g. Unix-like operating systems, memory is managed at the application level. (en)
  • Gerenciamento (ou gestão) de memória é um complexo campo da ciência da computação e são constantemente desenvolvidas várias técnicas para torná-la mais eficiente. Em sua forma mais simples, está relacionado em duas tarefas essenciais: (pt)
  • Zarządzanie pamięcią – sposób zarządzania pamięcią komputera z poziomu systemu komputerowego. Głównym wymaganiem stawianym procesowi zarządzania pamięcią jest dostarczenie możliwości dynamicznego alokowania pamięci oraz jej zwalniania, gdy już nie jest potrzebna. Jest to kluczowe wymaganie dla zaawansowanych systemów, w których jednocześnie uruchomionych jest wiele procesów. (pl)
  • Існує набір способів управління пам'яттю пам'яттю комп'ютера, що здійснюється менеджером пам'яті. Головною задачею управління пам'яттю є надання можливості для динамічного виділення ділянок пам'яті для програм на їх прохання, та її звільнення для повторного використання, коли вона вже не потрібна. Це є важливим для будь-якої складної комп'ютерної системи, де може бути більше одного активного процесу, що працюють одночасно. (uk)
rdfs:label
  • Memory management (en)
  • إدارة الذاكرة (ar)
  • Gestió de la memòria (ca)
  • Správa paměti (cs)
  • Speicherverwaltung (de)
  • Gestión de memoria (es)
  • Gestion de la mémoire (fr)
  • Gestione della memoria (it)
  • メモリ管理 (ja)
  • 메모리 관리 (ko)
  • Geheugenbeheer (nl)
  • Zarządzanie pamięcią (pl)
  • Gerenciamento de memória (pt)
  • Менеджер памяти (ru)
  • Керування пам'яттю (uk)
  • 記憶體管理 (zh)
rdfs:seeAlso
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:knownFor of
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is rdfs:seeAlso of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License