Содержание
Biologische Bedeutung
Physiologie
Phosphor ist für alle biologischen Organismen essentiell. Phosphorverbindungen sind Bestandteil der DNA- und RNA-Moleküle, der Trägersubstanz der Erbinformationen aller Lebewesen. Die stark phosphorhaltige Verbindung Adenosintriphosphat spielt eine entscheidende Rolle beim Energiestoffwechsel (aktivierte Zucker) der Zellen. Phosphor ist weiterhin in Zuckerphosphaten, Phospholipiden und Coenzymen enthalten. Die Phosphorylierung ist einer der wichtigsten Regulationsmechanismen in Organismen. Phosphate sind auch ein elementarer Bestandteil des pH-Puffersystems im Blut.
Die Trockenmasse von terrestrischen Pflanzen enthält ca. 0,2 % Phosphor (Epstein 1972, 1994 (1)), die von Säugetieren wie Menschen ca. 4 %. Die Gerüstsubstanz von Knochen und Zähnen besteht hauptsächlich aus Hydroxylapatit (Ca5(PO4)3OH). Der Körper eines Menschen von 70 kg Gewicht enthält etwa 700 Gramm Phosphor, wovon 600 g fest im Knochensystem gebunden sind.
Der Tagesbedarf eines erwachsenen Menschen beträgt ca. 0,75 Gramm Phosphor, vor allem in Milchprodukten, Fleisch, Fisch und Brot ist er reichhaltig vorhanden. Die Phosphatverfügbarkeit wirkt für Pflanzen vielfach als limitierender Wachstumsfaktor, weswegen in der Landwirtschaft große Mengen phosphathaltigen Düngers ausgebracht werden müssen.
Weißer Phosphor und einige Phosphorverbindungen wie Phosphan sind sehr giftig.
(1) Taiz, Zeiger: Physiologie der Pflanzen (1998)
Ökologie
Phosphor ist wegen seiner unverzichtbaren physiologischen Rolle einer der wichtigsten Pflanzennährstoffe. Allerdings neigen die in der Natur hauptsächlichen Phosphorvorkommen, die Phosphate, zur Bildung schwer löslicher und damit schwer verfügbarer Verbindungen. Trotz seines vergleichsweise geringen Bedarfsmengenanteils gerät Phosphor deshalb meist in die Rolle des „Limitierenden Faktors“ entsprechend Liebigs Minimumgesetz.
Die Landwirtschaft reagiert auf diese Tatsache mit dem Ausbringen von phosphathaltigen Düngemitteln, um den Pflanzenertrag zu steigern.
In den Gewässern hängt die Produktion von Biomasse meist direkt mit der verfügbaren Menge an Phosphor zusammen. Steigerungen des Phosphoreintrags in Seen führen deshalb zur Eutrophierung. Ganz allgemein beurteilt man den Zustand von Seen nach ihrem „Nährstoffgehalt“ und dessen Folgen für das Wachstum von Algen, und meint damit praktisch immer den verfügbaren Phosphorgehalt. Auch in den Flüssen spielt Phosphor eine wichtige eutrophierende Rolle. Deshalb wird in neueren Kläranlagen durch gesonderte P-Rückhaltestufen das bei der Klärung entstehende Phosphat ausgefällt.
Wegen der ökologisch zentralen Bedeutung des Phosphats spielt auch die quantitative Phosphoranalytik eine wichtige Rolle in der Praxis der chemischen Gewässerüberwachung.
Logging
Finally, Phosphor was modified to optionally output some of the information it obtains to a log file. The information included in the log is as follows:
- Information regarding found sources/sinks/sanitizers to ensure the desired functions are being tracked.
- The function name of any sink that had a tainted variable pass through it.
- The taint level of any sunken tainted variable.
- The value of sunken variables.
- A stack trace of the thread when a tainted variable was sunk.
Much of this information was already being collected in the unmodified Phosphor, so much of the modification was simply outputting it to a file rather than standard output when it crashed due to a tainted variable flowing to a sink.
The information written to this log file was intended to be useful to web administrators and developers looking to find potential vulnerabilities in their systems.
Фосфор
- Phosphor-это бесплатный мод Minecraft с открытым исходным кодом (под GNU GPLv3), предназначенный для экономии циклов процессора и повышения производительности за счет оптимизации одной из самых неэффективных областей Minecraft-движка освещения. Он работает как на клиенте , так и на сервереи может быть установлен на серверах, не требуя, чтобы у клиентов также был мод
- Мод разработан таким образом, чтобы быть как можно более минимальным в вносимых им изменениях, и, как таковой, не изменяет модель света или интерфейсы ванильного Minecraft. Из-за этого люминофор должен быть совместим со многими модами Minecraft (при условии, что они не вносят радикальных изменений в работу механизма освещения). Если вы столкнулись с проблемой совместимости, пожалуйста, откройте проблему!
Ported Fabric Mods List
Essential Mods From Fabric
Mod Name | Effects |
---|---|
Sodium | Alternative rendering engine that improves FPS, Fixes Micro-Stutter and Graphical Issues. |
Lithium | Heightened Tick Rates that improves the Game Physics, Mob AI, and Block Ticking. |
Phosphor | Optimizes the game’s most inefficient area that causes loading of chunks be greatly reduced. |
Lithium Must Be Manually Enabled
The current version of Halogen (Sodium Reforged) has the Lithium features disabled due to compatibility issues. In order for you to use it, you must manually enable it. You can enable it by setting «mixing.ai=true» to «sodium-mixins.properties» in your config/folder.
How To Install Fabric 1.17 — Mods & Loader
Белофосфорные штудии: собака Баскервилей, спичечная забастовка и запрещенное оружие
И давайте сразу же сделаем лирическое отступление, точнее – отступление литературное.
Я хочу раз и навсегда, закрыть тему белого фосфора и литературного произведения, из которого о нем все узнают, а потом на уроках химии тыкают пальцем и гыгычут: смотрите, какой тупой был Конан Дойл, а на химических олимпиадах просят найти, где же великий автор ошибся.
Итак, внимание, три цитаты:
В журнале «Иностранная литература» публикуется«лингвистическое» исследование некоего Давида Иоффе, где он возмущенно пишет:
И далее с превосходством знатока говорится, что phosphor по-английски означает любой люминофор, форсфоресцирующее вещество, а Конан-Дойл, безусловно, знал об опасности белого фосфора.
И все тут вроде бы ясно, если бы не одно но: в оригинале (я не нашел изначальный Strand Magasine, но нашел с десяток других изданий), везде из уст Ватсона звучит: «“Phosphorus,” I said».
Так что же, Конан-Дойл не знал об опасности белого фосфора?
Нет, конечно. Лондонский врач в 1901 году не мог не помнить события 1888 года, когда на Лондонской спичечной фабрике вспыхнула забастовка.
На этой немного ужасающей иллюстрации Томаса Мюттера середины XIX века под убранными художниками щеками девушки мы видим заболевание, которое сейчас не встретишь: «фосфорная челюсть». Или, если быть точным – фосфорный некроз челюсти. В XIX веке это было профессиональное заболевание сотрудников спичечных фабрик, поскольку эти люди работали с белым фосфором, токсичной аллотропной модификацией этого простого вещества. Спички с белым фосфором просуществовали недолго: только в 1830 году их придумал француз Шарль Сориа, а в 1836 году усовершенствовал венгр Янош Ирини, сделав их более безопасными. Уже в 1855 году швед Йохан Лундстрем придумал «шведские» спички с красным фосфором, но вплоть до 1910-х годов спички с белым фосфором пользовались популярностью (в первую очередь – у производителей, поскольку они были дешевле), а рабочие спичечных фабрик получали вот такой вот некроз челюсти.
2 июля 1888 года после увольнения одной из работниц Лондонской спичечной фабрики началась забастовка работниц, сопровождавшаяся демонстрацией. Это событие вошло в мировую историю и культуру настолько, что в 1960-х годах был даже поставлен мьюзикл «Девочки-спичечницы» (The Matchgirls) по следам тех событий.
Шум поднялся знатный, и администрации фабрики в итоге пришлось-таки пойти на уступки, сотрудницам даже выделили специальные чистые комнаты для приема пищи – ведь именно прямое попадание белого фосфора в рот во время еды и приводило к некрозу челюсти. А Анни Безант продолжила борьбу против спичек с белым фосфором. И, в итоге, в 1901 году (году начала выхода «Собаки Баскервилей» в журнале) фабрика, производящая белофосфорные спички была закрыта, в 1908 году Палата общин Великобритании приняла акт, запрещающий использование белого фосфора в спичках после 31 декабря 1910 года.
Однако никто из пытавшихся разобраться в ситуации, не увидел следующего предложения, не очень точно переводившегося на русский. Вот точные слова Холмса: «A cunning preparation of it». То есть, Ватсон, в простоте своей говорит: «Это типа фосфор?», на что химик-Холмс поправляет: «Нет, какое-то хитрое соединение его». Он сразу намекает, что тут – некое производное фосфора, точно не пахнущее, а вероятно, и не токсичное, но сохранившее способность к свечению.
Ну и раз мы заговорили о белом фосфоре, то для того, чтобы закрыть эту тему, скажем, что именно белый фосфор лежит в основе одного из самых опасных типов зажигательных боеприпасов, которые сейчас запрещены к применению, если от них могут пострадать гражданские (а это происходит почти всегда, ибо белый фосфор горит с температурой 1300 градусов, ядовит и прочая, и прочая, и прочая). Правда, США и Израиль их не подписали – и фосфорные боеприпасы, к сожалению, применялись и в Афганистане, и в Газе, и даже на Донбассе, хотя США и Израиль тут ни при чем.
Применение фосфорной бомбы авиацией США во Вьетнаме
Quellen
- Holleman, Wiberg:Lehrbuch der Anorganischen Chemie, 91.–100. Auflage,de Gruyter, Berlin, 1985. ISBN 3-11-007511-3 (S.928–931)
- «The earth’s available reserves of phosphate, which is the primary ingredient in fertilizers, could be exhausted within the next 50 to 130 years», in: A blooming waste, Website University of Technology, Sydney, 6. Nov. 2006 ; alternativ: «Depletion of current economically exploitable reserves are estimated at somewhere from 60 to 130 years. Using the median reserves estimates and under reasonable predictions, it appears that phosphate reserves would last for at least 100+ years»; in Arne Haarr, EUREAU (European Union of National Associations of Water Suppliers and Waste Water Services): The Reuse of Phosphorus
- Phosphat bei USGS Mineral Resources
- Medizinische Fakultät der Universität Rostock
- Arno Pfitzner, Michael F. Bräu, Josef Zweck, Gunther Brunklaus und Hellmut Eckert: Phosphorus Nanorods — Two Allotropic Modifications of a Long-Known Element in Angewandte Chemie International Edition 43 (2004), 4228 — 4231 doi:10.1002/anie.200460244
- BGIA Gestis Stoffdatenbank
Periodensystem der Elemente
H | He | ||||||||||||||||||||||||||||||
Li | Be | B | C | N | O | F | Ne | ||||||||||||||||||||||||
Na | Mg | Al | Si | P | S | Cl | Ar | ||||||||||||||||||||||||
K | Ca | Sc | Ti | V | Cr | Mn | Fe | Co | Ni | Cu | Zn | Ga |
Ge |
As |
Se |
Br | Kr | ||||||||||||||
Rb | Sr | Y | Zr | Nb | Mo | Tc | Ru | Rh | Pd | Ag | Cd | In | Sn |
Sb |
Te | I | Xe | ||||||||||||||
Cs | Ba | La | Ce | Pr | Nd | Pm | Sm | Eu | Gd | Tb | Dy | Ho | Er | Tm | Yb | Lu | Hf | Ta | W | Re | Os | Ir | Pt | Au | Hg | Tl | Pb | Bi |
Po |
At |
Rn |
Fr | Ra | Ac | Th | Pa | U | Np | Pu | Am | Cm | Bk | Cf | Es | Fm | Md | No | Lr | Rf | Db | Sg | Bh | Hs | Mt | Ds | Rg | Uub | Uut | Uuq | Uup | Uuh | Uus | Uuo |
Alkalimetalle | Erdalkalimetalle | Lanthanoide | Actinoide | Übergangsmetalle | Metalle | Halbmetalle | Nichtmetalle | Halogene | Edelgase |
Dieser Artikel wurde in die Liste der lesenswerten Artikel aufgenommen. |
Verbindungen
Phosphor ist sehr reaktiv und bildet mit sehr vielen Nichtmetallen kovalente Verbindungen. Dabei kommt er in allen Oxidationsstufen zwischen –3 und +5 und den Koordinationszahlen 1 bis 6, meist 3 bis 4, vor. Die Oxidationszahlen –3 und +5 sind dabei bevorzugt.
Wasserstoffverbindungen
Phosphane (die alten Bezeichnung Phosphine ist nicht mehr IUPAC-konform, wird aber in der chemischen Literatur, v. a. in der angelsächsischen, fast ausschließlich verwendet) bezeichnen Verbindungen des dreibindigen Phosphors mit Wasserstoff oder Ersatz einer oder mehrere Wasserstoffatome durch organischen Gruppen als Bindungspartner. Die organische Gruppe muss über die Kohlenstoffatome des Grundgerüstes direkt mit dem Phosphoratom verbunden sein. Wird die organische Gruppe durch ein Sauerstoffatom an das Phosphoratom gebunden (also Einheit P-O-C, z. B. im P(OPh)3), spricht man von Phosphiten.
Sauerstoffverbindungen
Mit Sauerstoff bildet Phosphor verschiedene Verbindungen, da Phosphor in mehreren Oxidationsstufen vorliegen kann. Dabei sind sowohl Phosphor-Sauerstoff-Einfachbindungen als auch Doppelbindungen sowie verbrückende Phosphor-Sauerstoff-Phosphor-Bindungen möglich.
Phosphoroxide bilden dem Adamantan ähnliche Strukturen:
- Phosphortrioxid P4O6ist eine weiße, weiche Verbindung, die sehr giftig und reaktiv ist und schnell zu Phosphorpentoxid weiterreagiert.
- Phosphortetraoxid P2O4 ist ein Mischoxid. Man kann es durch Oxidation von Phosphortrioxid in Tetrachlorkohlenstoff gewinnen.
- Phosphorpentoxid P4O10 ist das wichtigste Phosphoroxid. Es ist sehr hygroskopisch und wird als Trocknungsmittel verwendet.
Von diesen Oxiden können eine große Zahl von Phosphor-Sauerstoff-Säuren und ihre entsprechenden Salze mit einem oder mehreren Phosphoratomen abgeleitet werden.
Oxidationsstufedes Phosphors | Strukturformel | Name der Säure | Name der Salze |
---|---|---|---|
Monophosphorsäuren | |||
+I | Phosphinsäure | Phosphinate | |
+III | Phosphonsäure | Phosphonate | |
+V | Phosphorsäure | Phosphate | |
+V | Peroxophosphorsäure | Peroxophosphate | |
Diphosphorsäuren | |||
+II | Hypodiphosphonsäure | Hypodiphosphonate | |
+III | Diphosphonsäure | Diphosphonate | |
+IV | Hypodiphosphorsäure | Hypodiphosphate | |
+V | Diphosphorsäure | Diphosphate | |
+V | Peroxodiphosphorsäure | Peroxodiphosphate |
Es gibt eine Reihe von phosphorhaltigen Mineralien, die wichtigsten sind dabei Hydroxylapatit und Fluorapatit. Weitere Phosphormineralien findet man in der Kategorie:Phosphormineral.
Halogenverbindungen
Phosphor bildet eine große Zahl von Verbindungen mit den Halogeniden Fluor, Chlor, Brom und Iod. Die wichtigsten Verbindungentypen sind dabei PX3, P2X4 und PX5. Die Fluorverbindungen sind gasförmig, die Chlorverbindungen meist flüssig, Brom- und Iodverbindungen fest. Viele Phosphorhalogenverbindungen sind giftig.
Beispiele für diese Verbindungsklasse sind Phosphortrichlorid und Phosphorpentachlorid
weitere Phosphorverbindungen
Phosphor bildet mit Schwefel eine Reihe von Verbindungen, die in ihrer Struktur z. T. den Phosphor-Sauerstoff-Verbindungen ähneln. Sie haben allgemein die Struktur P4Sx (x = 3–10). Auch Verbindungen mit Selen sind bekannt.
Stickstoff bildet mit Phosphor Nitride der Zusammensetzung PN und P3N5.
Organische Verbindungen
Organische Phosphorverbindungen und dabei vor allem Triphenylphosphin spielen in vielen organischen Reaktionen, z. B. der Wittig-Reaktion eine wichtige Rolle.
In der Biochemie sind vor allem die Phosphorsäureester relevant. Sie sind lebenswichtiger Teil von vielen Stoffwechselprozessen und Teil der DNA. Wichtige Moleküle sind:
- ADP, ATP, AMP
- GTP, GDP, GMP
- Phospholipide
Installation
Manual installation (recommended)
Usually, releases will be made available on GitHub slightly sooner than other locations.
Bleeding-edge builds (unstable)
If you are a player who is looking to get your hands on the latest bleeding-edge changes for testing, consider
taking a look at the automated builds produced through our GitHub Actions workflow.
This workflow automatically runs every time a change is pushed to the repository, and as such, the builds it produces
will generally reflect the latest snapshot of development.
Bleeding edge builds will often include unfinished code that hasn’t been extensively tested. That code may introduce
incomplete features, bugs, crashes, and all other kinds of weird issues. You should not use these bleeding edge builds
unless you know what you are doing and are comfortable with software debugging. If you report issues using these builds,
we will expect that this is the case. Caveat emptor.
Reporting Issues
You can report bugs and crashes by opening an issue on our issue tracker.
Before opening a new issue, use the search tool to make sure that your issue has not already been reported and ensure
that you have completely filled out the issue template. Issues which are duplicates or do not contain the necessary
information to triage and debug may be closed.
Please note that while the issue tracker is open to feature requests, development is primarily focused on
improving hardware compatibility, performance, and finishing any unimplemented features necessary for parity with
the vanilla renderer.
Community
- Get installation help and technical support with all of our mods
- Be notified of the latest developments as they happen
- Get involved and collaborate with the rest of our team
- … and just hang out with the rest of our community.
Building from sources
Support is not provided for setting up build environments or compiling the mod. We ask that
users who are looking to get their hands dirty with the code have a basic understanding of compiling Java/Gradle
projects. The basic overview is provided here for those familiar.
Building with Gradle
Phosphor uses a typical Gradle project structure and can be built by simply running the default task. After Gradle
finishes building the project, you can find the build artifacts (typical mod binaries, and their sources) in
.
Build artifacts ending in are outputs containing the sources and compiled classes
before they are remapped into stable intermediary names. If you are working in a developer environment and would
like to add the mod to your game, you should prefer to use the or configurations provided by
Loom instead of these outputs.
Phosphor is licensed under GNU LGPLv3, a free and open-source license. For more information, please see the license file.
Similar projects and alternatives to phosphor-fabric
-
5
976
9.2
Java
phosphor-fabric VS lithium-fabric
A Fabric mod designed to improve the general performance of Minecraft without breaking things
-
sodium-fabric
3
2,559
9.1
Java
phosphor-fabric VS sodium-fabric
A Fabric mod designed to improve frame rates and reduce micro-stutter
-
sponsored
Run Linux Software Faster and Safer than Linux with Unikernels.
-
2
718
7.0
Java
phosphor-fabric VS Starlight
Rewrites the light engine to fix lighting performance and lighting errors [Moved to: https://github.com/PaperMC/Starlight] (by Spottedleaf)
-
3
414
5.6
Java
phosphor-fabric VS hydrogen-fabric
Things of which are too dangerous to put in Lithium.
-
—
810
6.9
Java
phosphor-fabric VS Starlight
Rewrites the light engine to fix lighting performance and lighting errors
-
1
1,455
9.8
Java
phosphor-fabric VS Iris
(WIP) A new shaders mod for Minecraft intended to be compatible with existing ShadersMod/Optifine shaders (by IrisShaders)
-
1
130
5.8
Java
phosphor-fabric VS LambDynamicLights
A dynamic lights mod for Minecraft with Fabric.
-
sponsored
Scout APM: A developer’s best friend. Try free for 14-days.
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster. -
—
544
0.0
Java
phosphor-fabric VS lithium
A Fabric mod designed to improve the general performance of Minecraft without breaking things [Moved to: https://github.com/jellysquid3/lithium-fabric] (by jellysquid3)
-
1
180
3.9
Java
phosphor-fabric VS tic-tacs
Experimental mod to improve Minecraft’s chunk loading performance as well as allow for multithreading. Not currently being actively maintained.
-
1
92
6.9
Java
phosphor-fabric VS Dynamic-FPS
Improve performance when Minecraft is in the background
-
1
68
0.3
Java
phosphor-fabric VS cadmium-fabric
An optimization mod for DataFixerUpper with the goal to make game startup take less time.
-
1
68
6.5
Java
phosphor-fabric VS LambdaBetterGrass
A better grass mod for Minecraft.
-
1
63
6.3
Java
phosphor-fabric VS OkZoomer
Adds a highly-configurable zoom key for Fabric. The zoom is yours!
-
1
47
2.4
Java
phosphor-fabric VS radon-fabric
Highly experimental and unstable alternative world format for Minecraft
-
1
37
6.4
Java
phosphor-fabric VS mc-smoothboot
Tweak threads and thread factories used by Minecraft
-
1
22
5.5
Kotlin
phosphor-fabric VS Capes
Lets you use capes from OptiFine, LabyMod and other cape mods
-
sodium-fabric
1
22
6.2
Java
phosphor-fabric VS sodium-fabric
A Minecraft mod designed to improve frame rates and micro-stutter (by qouteall)
NOTE:
The number of mentions on this list indicates mentions on common posts plus user suggested alternatives.
Hence, a higher number means a better phosphor-fabric alternative or higher similarity.
Начнем с истории
В истории химических элементов фосфор занимает совершенно уникальное место. Как-никак, а это первый химический элемент, который имеет точную дату открытия. Удивительно, но эту дату мы знаем точнее, чем даты рождения и смерти его первооткрывателя, немецкого алхимика Хеннига Бранда, который родился где-то около 1630 года, а умер то ли около 1692, то ли около 1710… Зато мы точно знаем, что в 1669 году этот человек, сначала бывший солдатом во время Тридцатилетней войны, но благоразумно решивший, что быть врачом и алхимиком безопаснее, решился на попытку добыть философский камень из мочи. Ибо другие варианты, видимо, уже были исчерпаны до него. Ну и гомеопатический принцип подобия (впрочем, гомеопатии-то как раз тогда не было еще): в золото может превращать нечто золотистого цвета. А что плохо пахнет – ну так можно несколько дней отстоять, чтобы запах ушел. Потом эту мочу можно кипятить до состояния пасты. Тоже желтого цвета. Вот как раз нагревая эту пасту (фактически, кипятя ее несколько часов), у Бранда внезапно получилось некоторое белое вещество, похожее на воск, которое ярко светилось в темноте.
Картина Джозефа Райта «Алхимик, открывающий фосфор» (1771 год), предположительно описывающая открытие фосфора Хеннигом Брандом.
Так был открыт phosphorus mirabilis, «чудесный носитель света». Или белый фосфор. 14 октября 1680 года датируется получение фосфора тем же способом Робертом Бойлем. В российских источниках пишется, что это открытие было независимым, однако мы знаем, что сначала Бранд попытался сохранить свой рецепт в тайне, но затем продал его некоему Д. Краффту из Дрездена, который встречался с Робертом Бойлем… В общем, пошло-поехало, и секрет белого фосфора растекся по Европе. Кстати, именно Бойль использовал впервые белый фосфор, 13-й химический элемент, известный человечеству, для того, чтобы зажечь деревянные палочки с серными наконечниками – предтечи современных спичек.
Роберт Бойль
Нужно сказать, что именно фосфор часто становится первым элементом, на котором знакомятся с аллотропией – существованием разных форм простого вещества одного и того же химического элемента. Но сначала – немного об исторически первой аллотропной модификации.
Свечение белого фосфора
Introduction of Taint Level
Originally, Phosphor distinguished between two types of data: tainted and untainted. Some data was tainted if a Taint object was placed upon the object (in the form an additional object parameter in the case that the data was an object, or in the form of additional method arguments in the case the data was a primitive). Some data was untainted if no such Taint object was placed upon the data.
To accommodate the requirement of ‘maybe tainted’ data, this system was altered to allow a Taint object to have one of many different taint levels. In this design, taint levels of ‘not tainted’, ‘maybe tainted’, and ‘tainted’ were used (in that linear order), though there is theoretically no limit to the number of levels or complexity of ordering with this implementation.
As per the functional requirements listed, OpenMRS functions were to be marked as either sources, sinks, or sanitizers. As such, the introduction of a ‘tainted’ taint level could only come from a marked source. To accommodate this, an additional taint level of ‘unknown’ was introduced and is given to every newly instantiated Taint object. And then, at every source, the taint level is set to ‘tainted’. This ensures that only tainted data from marked sources reach sinks, and also ensures that taint level data is propagating properly.
Lattice Implementation
The taint level was implemented in Phosphor with a lattice data structure, itself implemented using graphs. A lattice works nicely with the specified taint levels, since the greatest lower bound (GLB) and the least upper bound (LUB) can be used in the propagation and checking of taints. A lattice is also beneficial in that it allows more taint levels to be easily added and ordered with arbitrary complexity.
The lattice is used by adding the desired lattice elements and then adding orderings between the elements. In the case of the taint levels, all four are added and then the ordering between each are added to create a linear relationship between the four. The GLB and LUB can then be calculated on a collection of lattice elements. For taint levels, the LUB of a two given taints is used to propagate the taint level. The GLB of a given taint level and ‘maybe tainted’ is used in sanitizers to indicate that the data is partially endorsed.
Runtime Complexity
The runtime complexity for each of the lattice methods are as follows.
Method | Complexity |
---|---|
addElement | O(1) |
addOrdering | O(1) |
leastUpperBound | O(N * M^2) * |
greatestLowerBound | O(N * M^2) * |
compareElements | O(M^2) |
For N = the number of elements passed to the function, and M = the number of elements in the lattice.
* For our purposes, a maximum of two elements are ever LUBed or GLBed, reducing the O(N * M^2) complexity to simply O(M^2).
If the number of lattice elements and orderings were to grow significantly large, further optimizations to the lattice methods may be desired. One way to optimize these would be to calculate all of the possible LUB and GLB results ahead of time, and look them up in constant time. This is especially practical in this situation due to only needing LUB and GLB results between pairs of elements, meaning the space complexity would be O(N^2) rather than O(N^N). For a lattice of four elements, however, the overhead imposed by lattice operations was not enough to worry about.
Geschichte
Phosphor wurde 1669 von Hennig Brand, einem deutschen Apotheker und Alchemisten, entdeckt, als dieser – auf der Suche nach dem „Stein der Weisen“ – Urin bis zur Trocknung eindampfte. Als er den Rückstand unter Luftabschluss glühte, entstand durch Reduktion mit organischer Materie weißer Phosphor, der im Dunkeln aufgrund der Phosphoreszenz leuchtete. Obwohl Phosphor zu dieser Zeit noch keine Verwendung außer als Nachtlampe fand, wurde es mit Gold aufgewogen. Hennig Brand wurde durch diese Entdeckung nicht reich und verkaufte das Herstellungsrezept an einen Alchemisten, der hiermit ein Vermögen machte. Johann Daniel Kraft, besagter Alchimist, demonstrierte die Herstellung von Phosphor 1677 vor Robert Boyle.
Weißer Phosphor wurde anfangs auf Grund seiner faszinierenden Eigenschaft der Phosphoreszenz als Heilmittel verwendet. Später spielte er eine wichtige Rolle bei der Streichholzherstellung; da weißer Phosphor hochgiftig ist, kam es jedoch oft zu schweren Vergiftungen bei Arbeitern.
Weißer Phosphor spielte in der Militärgeschichte als Waffe eine Rolle. Dieser wurde als Füllmaterial von Brandbomben, den sogenannten Phosphorbomben verwendet. So setzte die britische Luftwaffe im Zweiten Weltkrieg ein Gemisch aus weißem Phosphor und Kautschuk ein. Durch den Kautschuk klebt die zähflüssige Masse und lässt sich deshalb schlecht abstreifen. Sie verursacht auf der Haut schlecht heilende Wunden.
Nachweis
Spektroskopisch
Die Methode der Wahl für den Nachweis von Phosphorverbindungen ist die 31P-NMR-Spektroskopie. 31P ist das einzige natürlich vorkommende Phosphor-Isotop und hat eine Kernspin-Quantenzahl von 1/2. Im Vergleich zum Wasserstoff beträgt die relative Empfindlichkeit nur 6,6 %. Der Resonanzbereich beträgt ca. 700 ppm (P4 hat beispielsweise eine Verschiebung von −488 ppm). Als Standard wird im Allgemeinen 85%ige Phosphorsäure verwendet. Da Phosphor ein Spin-1/2-Kern ist, sind die Spektren sehr gut auszuwerten. Wenn zusätzlich der Wasserstoff entkoppelt wird, resultiert meist ein scharfes Signal. Die Phosphorverschiebung ist stark abhängig von seinen Bindungspartner, er ist also sehr gut für die Identifikation von bekannten Verbindungen geeignet. Bei unbekannten Verbindungen ist die Aussagekraft oft beschränkt, weil einem Spektrenbereich nur selten einer Verbindungsklasse exklusiv zuzuordnen ist.
Derivate mit | Chemische Verschiebung (δ in ppm) |
---|---|
3-bindigem P | −180 bis +200 |
4-bindigem P | −120 bis +130 |
5-bindigem P | −100 bis −20 |
6-bindigem P | −220 bis −130 |
Nasschemisch
Die quantitative und qualitative Bestimmung von Phosphor erfolgt über das Phosphat (genauer Orthophosphat PO43−). Gebundener Phosphor wird hierzu gegebenenfalls durch oxidierenden Aufschluss in Phosphat überführt.
Qualitativer Nachweis
Bei der Nachweisreaktion mit Ammoniummolybdat erhält man in saurer Lösung einen gelben Niederschlag von Ammoniummolybdophosphat:
In alkalischer Ammoniaklösung fällt Phosphat bei Anwesenheit von Magnesium-Ionen als Magnesiumammoniumphosphat aus:
Der Nachweis ist auch in Form von Zirconiumhydrogenphosphat durchführbar:
Nicht korrekt ist, wie in vielen Lehrbüchern angegeben, die Form Zr3(PO4)4, in wässrigen Lösungen bildet sich diese Verbindung nicht!
Historisch ist die Mitscherlich Probe zum Nachweis von weißem Phosphor interessant, die allem voran bei vermuteten Phosphorvergiftungen eingesetzt wurde. Hierbei wird der Mageninhalt mit Wasser erhitzt, wobei der weiße Phosphor, der mit dem Wasserdampf flüchtig ist, anschließend kondensiert und bei Berührung mit Luftsauerstoff durch ein Leuchten (Chemolumineszenz) in Erscheinung tritt.
Bei Strukturuntersuchungen von Verbindungen, in denen Phosphor enthalten ist, eignet sich die 31P-Kernresonanzspektroskopie.
Gravimetrie
Für eine gravimetrische Bestimmung kann aus Phosphat und Molybdationen in stark salzsaurer Lösung ein gelbes Molybdophosphation gebildet werden:
Mit 8-Hydroxychinolin (kurz HOx oder Oxin genannt) bildet sich ein schwer löslicher Niederschlag von Oxin-12-molybdo-1-phosphat, der anschließend bei 160 °C getrocknet und in wasserfreier Form gewogen wird.
Fällungsform:
Wägeform:
- (H2Ox)3[P(Mo3O10)4] (Farbe: dunkelorange)
Der grobkristalline Niederschlag enthält nur 1,37 % Phosphor. Somit sind vor allem kleinere Phosphatmengen gut bestimmbar (siehe Mikromol-Verfahren).
Volumetrie
Volumetrische Phosphatbestimmungen werden durch Fällung mit La3+ oder mit Bi3+-Maßlösungen und anschließender Rücktitration mit EDTA durchgeführt.
Colorimetrie/Photometrie
Für die Bestimmung geringer Konzentrationen an Phosphat in Süßwasserproben wird ein tiefblauer Antimon-Phosphormolybdat-Komplex gebildet, der seine intensive Färbung erst durch ein Reduktionsmittel, meist Ascorbinsäure, erhält. Damit sind empfindliche Nachweise bis in den Bereich von ca. 0,6 mg PO4/l (ca. 0,2 mg P/l) möglich.
Das Verfahren ist in EN 1189:1996 (früher DIN 38405 D11) normiert.