По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Все мы любим компьютеры. Они могут делать столько удивительных вещей. За пару десятилетий компьютеры произвели самую настоящую революцию почти во всех аспектах человеческой жизни. Они могут справляться с задачами различной степени сложности, просто переворачивая нули и единицы. Просто удивительно, как такое простое действие может привести к такому уровню сложности. Но я уверен, что вы все знаете, что такой сложности нельзя добиться (практически нельзя) простым случайным переворачиванием чисел. Но за этим стоит определенные логические рассуждения. Есть правила, которые определяют, как это все должно происходить. В данной статье мы обсудим эти правила и увидим, как они управляют «мышлением» компьютера. Что такое булева алгебра? Это правила, о которых я упоминал выше, описываются некой областью математики, называемой булевой алгеброй. В своей книге 1854 года британский математик Джордж Буль предложил использовать систематический набор правил для работы со значениями истинности. Эти правила положили математическую основу для работы с логическими высказываниями. А эти основы привели к развитию булевой алгебры. Для того, чтобы понять, что из себя представляет булева алгебра, сначала мы должны понять сходства и различия между ней и другими формами алгебры. Алгебра в целом занимается изучением математических символов и операций, которые можно выполнять над этими символами. Эти символы сами по себе ничего не значат. Они обозначают некую величину. Именно эти величины и придают ценность этим символам, и именно с этими величинами и выполняются операции. Булева алгебра также имеет дело с символами и правилами, позволяющими выполнять различные операции над этими символами. Разница заключается в том, что эти символы что-то значат. В случае обычной алгебры символы обозначают действительные числа. А в булевой алгебре они обозначают значения истинности. На рисунке ниже представлен весь набор действительных чисел. Набор действительных чисел включает натуральные числа (1, 2, 3, 4, …), положительные целые числа (все натуральные числа и 0), целые числа (…, -2, -1, 0, 1, 2, 3, …) и т.д. Обычная алгебра имеет дело со всем этим набором чисел. Для сравнения, значения истинности состоят из набора, который включает в себя только два значения: True и False. Здесь я хотел бы отметить, что мы можем использовать любые другие символы для обозначения этих значений. Например, в информатике, как правило, эти значения обозначают через 0 и 1 (0 используется в качестве False, 1 – в качестве True). Вы также можете сделать это более оригинальным способом, обозначая значения истинности какими-то другими символами, например, кошки и собаки или бананы и апельсины. Суть здесь в том, что смысл этих значений останется неизменным, как бы вы их не обозначили. Но убедитесь, что вы не меняете символы в процессе выполнения операций. Теперь вопрос в том, что если (True и False), (0 и 1) – это просто обозначения, то что же они пытаются обозначить? Смысл, лежащий в основе значений истинности, исходит из области логики, где значения истинности используются для того, чтобы определить, является ли высказывание «Истинным» (True) или «Ложным» (False). Здесь значения истинности обозначают соответствие высказывания истине, то есть показывают, является ли высказывание истинным или ложным. Высказывание – это просто некоторое утверждение, что-то вроде «Все кошки милые». Если приведенное выше высказывание верно, то мы присваиваем ему значение истинности «Истина» (True) или «1», в противном случае мы присваиваем ему значение истинности «Ложь» (False) или «0». В цифровой электронике значения истинности используются для обозначения состояний электронных схем «включено» и «выключено». Подробнее об этом мы поговорим позже в этой же статье. Логические операции и таблицы истинности Как и в обычной алгебре, в булевой алгебре также можно применять операции к значениям для получения некоторых результатов. Однако эти операции не похожи на операции в обычной алгебре, поскольку, как мы уже упоминали ранее, булева алгебра работает со значениями истинности, а не с действительными числами. В булевой алгебре есть три основные операции. OR: OR или "ИЛИ", также известная как дизъюнкция. Эта операция выполняется над двумя логическими переменными. Результатом операции OR будет 0, если оба операнда равны 0, иначе будет 1. Для того, чтобы более наглядно продемонстрировать принцип работы этой операции, визуализируем ее с помощью таблицы истинности. Таблицы истинности дают нам хорошее представление о том, как работают логические операции. Также это удобный инструмент для выполнения логических операций. Операция OR: Переменная 1 Переменная 2 Результат 0 0 0 0 1 1 1 0 1 1 1 1 AND: AND или "И", также известная как конъюнкция. Эта операция выполняется над двумя логическими переменными. Результатом операции AND будет 1, если оба операнда равны 1, иначе будет 0. Таблица истинности выглядит следующим образом. Операция AND: Переменная 1 Переменная 2 Результат 0 0 0 0 1 0 1 0 0 1 1 1 NOT: NOT или "НЕ", также известное как отрицание. Эта операция выполняется только над одной переменной. Если значение переменной равно 1, то результатом этой операции будет 0, и наоборот, если значение переменной равно 0, то результатом операции будет 1. Операция NOT: Переменная 1 Результат 0 1 1 0 Булева алгебра и цифровые схемы Булева алгебра после своего появления очень долго оставалась одним из тех понятий в математике, которые не имели какого-то значительного практического применения. В 1930-х годах Клод Шеннон, американский математик, обнаружил, что булеву алгебру можно использовать в схемах, где двоичные переменные могут обозначать сигналы «низкого» и «высокого» напряжения или состояния «включено» и «выключено». Эта простая идея создания схем с помощью булевой алгебры привела к развитию цифровой электроники, которая внесла большой вклад в разработку схем для компьютеров. Цифровые схемы реализуют булеву алгебру при помощи логических элементов – схем, обозначающих логическую операцию. Например, элемент OR будет обозначать операцию OR. То же самое относится и к элементам AND и NOT. Наряду с основными логическими элементами существуют и логические элементы, которые можно создать путем комбинирования основных логических элементов. NAND: элемент NAND, или "И-НЕ", образован комбинацией элементов NOT и AND. Элемент NAND дает на выходе 0, если на обоих входах 1, в противном случае – 1. Элемент NAND обладает свойством функциональной полноты. Это означает, что любая логическая функция может быть реализована только с помощью элементов NAND. Элемент NAND: Вход 1 Вход 2 Результат 0 0 1 0 1 1 1 0 1 1 1 0 NOR: элемент NOR, или "ИЛИ-НЕ", образован комбинацией элементов NOT и OR. Элемент NOR дает на выходе 1, если на обоих входах 0, в противном случае – 0. Элемент NOR, как и элемент NAND, обладает свойством функциональной полноты. Это означает, что любая логическая функция может быть реализована только с помощью элементов NOR. Элемент NOR: Вход 1 Вход 2 Результат 0 0 1 0 1 0 1 0 0 1 1 0 Большинство цифровых схем построены с использованием элементов NAND и NOR из-за их функциональной полноты, а также из-за простоты изготовления. Помимо элементов, рассмотренных выше, существуют также особые элементы, которые служат для определенных целей. Вот они: XOR: элемент XOR, или "исключающее ИЛИ", - это особый тип логических элементов, который дает на выходе 0, если оба входа равны 0 или 1, в противном случае – 1. Элемент XOR: Вход 1 Вход 2 Результат 0 0 0 0 1 1 1 0 1 1 1 0 XNOR: элемент XNOR, или "исключающее ИЛИ-НЕ", - это особый тип логических элементов, который дает на выходе 1, когда оба входа равны 0 или 1, в противном случае – 0. Элемент XNOR: Вход 1 Вход 2 Результат 0 0 1 0 1 0 1 0 0 1 1 1 Заключение Итак, на этом мы можем закончить обсуждение булевой алгебры. Надеюсь, что к текущему моменту у вас сложилась неплохая картина того, что же такое булева алгебра. Это, конечно, далеко не все, что вам следует знать о булевой алгебре. В ней есть множество понятий и деталей, которые мы не обсудили в данной статье.
img
Если PowerShell кажется вам сложным для использования его для повседневных задач, "круто" может быть не тем словом, которое у вас ассоциируете с ним. Но PowerShell является основной частью Exchange, Windows Server и SQL Server, и он обладает огромными возможностями, которые мы все должны понять, принять и использовать, чтобы облегчить и автоматизировать наши текущие дела. Я собираюсь немного поразвлечься и показать вам несколько хитростей, которые определенно пригодятся вам в решении нудных задач на работе. Кроме того, вы будете выглядеть намного круче в глазах ваших коллег, когда сможете решить проблему из командной строки. Согласитесь, это выглядит привлекательно, чем щелкать правой кнопкой мыши и что-то исправлять. Будьте очень осторожны так как это инструмент достойный своего названия (Power – Сила, Shell – Оболочка). PowerShell может легко вызвать массовые изменения конфигурации, как положительные, так и отрицательные, поэтому для безопасности создайте тестовую или лучше всего виртуальную среду для вашего обучения и тестирования. Если вы будете тестировать у себя на компьютере, то создайте точку восстановления системы. Чтобы во время выполнения одной из следующих команд что-то пойдет не так, вы всегда могли восстановить свой компьютер. 10 крутых вещей, которые можно сделать с помощью Windows PowerShell 1: Отчёты о подключённых USB оборудованиях PowerShell даёт возможность работать с Windows Management Instrumentation (WMI). С помощью PowerShell, вы можете сделать WMI - запрос для получения информации о USB - устройствах, которые установлены как на локальной, так и на удаленных системах. gwmi Win32_USBControllerDevice -computername DBSERVER1 |fl Antecedent,Dependent В данной команде будет применен фильтр возврата предшествующих и зависимых полей с компьютера DBSERVER1. Если вы хотите получить полную информацию о USB-устройствах в системе, вы можете убрать оператор | и fl. Это весьма удобный способ для ведения отчётов по серверам, к которым подключены USB - устройства с лицензией. 2: Выполнение ваших любимых задач CMD в PowerShell Да, вы можете перестать использовать командную строку (CMD) и начать выполнять все те же задачи в PowerShell. Это поможет сделать процесс обучение немного проще и помочь вам лучше ознакомиться с интерфейсом. К сожалению, PowerShell невозможно вызвать через окно «выполнить» с помощью трёх букв, подобно CMD. Но вы можете назначить сочетание клавиш для быстрого запуска PowerShell, например, Ctrl + Shift + P. 3: Принудительное завершение процесса в PowerShell Если зависла какая-то служба Windows, вы можете использовать PowerShell для завершения процесса так же, как и через Диспетчер Задач. Например, для закрытия BadThread.exe, вы делаете следующее: get-process BadTh* Результаты выведут нам нужные данные в таком формате: Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 19 5 -321955 -312219 -154 32.76 7583 BadThread После того, как мы идентифицируем Process ID, вы можете принудительно закрыть зависший процесс введя команду: stop-process -id 7583 В тот же момент процесс BadThread будет принудительно остановлен, и вы сможете возобновить попытку запуска службы. Которую можете сделать прямо здесь, в PowerShell. 4: Используйте PSDrive для большего, чем просто просмотр дисков Команда PSDrive позволяет просматривать объекты Windows за пределами традиционных сетей, а также локальных или съемных дисков. Например, чтобы посмотреть диски в разделе верхнего уровня реестра HKEY_LOCAL_MACHINE, вы можете использовать HKLM PSDrive. Чтобы войти в реестр, введите следующую команду: PS C:> cd HKLM: PS HKLM:/> Затем вы переключаетесь в раздел регистра где сможете просмотреть список всех объектов и удалять их, если вам это нужно. 5: Экспорт NTFS разрешений папки – как обычно, так и рекурсивно Управление разрешениями NTFS - это отдельный вопрос, но с помощью PowerShell можно экспортировать список разрешений для аудита доступов или для быстрого анализа списка ACLs для настройки политик безопасности. Это лучший вариант для создания отчётности в формате периодически запускаемого скрипта, или вы можете запускать его по требованию, например, для диагностики конкретной проблемы, связанной с доступами. Например, используя следующую команду: PS E:>Get-Acl N:Data Это даст вам быстрый ответ с результатами ваших прав безопасности по указанному пути N:Data (обратите внимание, что команда не даёт доступ к ресурсу). Данная команда не даст нам общую картину всех доступов всего пути, а только отчёт только об указанном пути. Но если вы хотите включить рекурсию для всего пути, вы можете использовать другую команду. Для того же пути N:Data вы должны использовать командлет Get-ChildItem (cmdlet) в PowerShell в сочетании с командлетом Get-Acl. Рассмотрим следующий пример: PS E:>Get-ChildItem N:Data -recurse | Get-Acl Данная команда будет отображать списки ACL для содержимого всего пути N:Data. Разберём как это работает: командлет Get-ChildItem показывает нам все объекты файловой системы по указанному пути N:Data, а дальше весь список объектов передаётся командлету Get-Acl который предоставляет результаты (списки ACL) для каждого объекта. Если вы хотите заархивировать данные в документ (CSV), вам нужно добавить | export-csv c:filename.csv в конце команды. Кроме этого вы можете извлечь в обычный текстовый файл с помощью добавления командлета > C:filename.txt. Обратите внимание что, когда вы используете параметр -recurse, он будет применяться во всех вложенных файлах и папках. Поэтому будьте внимательны, когда используете его для инвентаризации объёмных томов или же по сети. 6: Отличия PowerShell 2.0 PowerShell 2.0 включает в себя графический интерфейс что является удобной особенностью данной системы. Скрипты PowerShell сохраняются как файлы .ps1, что позволяет нам легко изменять, импортировать и мигрировать сценарии в различные системы. На скриншоте ниже показан пример списка разрешений NTFS в графическом режиме. Примечание для PowerShell 2.0: Перед тем как начать использовать PowerShell 2.0 версию, необходимо настроить политику исполнения с помощью первой версии PowerShell. Введите одну из следующих команд для настройки политики исполнения под ваши нужды: PS C:> Set-ExecutionPolicy Restricted (только проверка) PS C:> Set-ExecutionPolicy AllSigned (наиболее безопасный) PS C:> Set-ExecutionPolicy RemoteSigned (средний уровень безопасности) PS C:> Set-ExecutionPolicy Unrestricted (наименее безопасный) При этом не забудьте, что для PowerShell 2.0 требуется пакет WS-MAN v1.1 и Microsoft.NET Framework 3.0 для графического интерфейса. 7: Горячие клавиши в графическом интерфейсе PowerShell Если вы знакомы со средой Microsoft SQL Query Analyzer, вы по достоинству оцените некоторые из этих сочетаний клавиш. В PowerShell GUI вы можете выбрать одну или несколько строк и выполнить их разом одним нажатием клавиши F5. Кроме того, если вы изменили скрипт, то для экономии времени при редактировании и тестировании доступны привычные Ctrl + S для сохранения, Ctrl + Z для отмены, Ctrl + C для копирования и Ctrl + V для вставки. 8: Фоновый режим для длительных задачи Если вы собираетесь использовать команду, выполнение которого займёт некоторое время, вы можете запустить PowerShell в фоновом режиме до её завершения. Таким образом, можно отправить серию команд на автоматическое выполнение по своему собственному расписанию. Чтобы запустить команду в фоновом режиме необходимо добавить в начало параметр –psjob. А ещё можно узнать о состоянии любого из заданий с помощью следующей команды: PS C:> get-psjob В дополнительном окне вы увидите таблицу с результатами о текущих состояний ваших заданий, дополнительно с уникальными идентификаторами сеанса для каждой задачи отдельно. На скриншоте ниже показана одна проваленная задача. С помощью следующей команды вы можете удалить неудачную задачу, указав ID Session в конце команды: PS C:>remove-psjob 9 9: Вставка временных рамок для вывода команд PowerShell Для задач PowerShell можно ввести временную метку последовательности, чтобы определить продолжительность каждого шага, к тому же можно использовать для настройки журнала вводимых скриптов. Это может оказаться удобным способом для их тестирования. Чтобы вставить метку времени, введите одну из следующих команд в виде одно строки в файле .ps1: КомандыВывод"$(Get-Date -format g) Start logging"20/4/2020 7:45 AM"$(Get-Date -format F) Start logging"Friday, December 23, 2019 8:26:24 AM“$(Get-Date -format o) Start logging"2019-11-17T19:26:24.0479860-06:00 Существует много различных форматов команды Get-Date, но обычно эти три параметра подходят для большинства целей с временными метками. 10: Вывод результатов с задержкой В PowerShell некоторые команды выводят информацию на экран быстрым прокручиванием. Если вы не экспортируете данные в файл, будет невозможно просмотреть их на экране. Давайте ещё раз воспользуемся командлетом Get-ChildItem из предыдущих примеров. Эта команда может выводить множество результатов в зависимости от указанного пути. Для упрощения просмотра выводимых данных на экране мы воспользуемся функцией, которая называется EasyView. Данная функция позволяет нам просмотреть результаты на экране путем отображения одной строки каждые полсекунды. Функция EasyView создаётся следующим образом: function EasyView { process { $_; Start-Sleep -seconds .5}} Чтобы выполнить команду PowerShell с помощью функции EasyView добавьте в конце команды оператор | и название самой функции, как показано ниже: Get-ChildItem N:Data | EasyView Функция EasyView настроена на отображение строк с интервалом в полсекунды. Вы также можете настроить интервал в миллисекундах. Итоги Крутые особенности на этих 10 пунктах не заканчиваются. Есть множества функций PowerShell, которые могут упростить ваши ежедневные задачи. Я надеюсь эта статья привлечёт ваше внимание к командной строке и поможет вам в будущем использовать PowerShell.
img
CatOS (Catalyst Operating System) – это операционная система, которая использовалась в коммутаторах Cisco в линейке Catalyst, но впоследствии была вытеснена Cisco IOS. Первоначально она называлась "XDI" от компании Crescendo Communications, Cisco переименовала ее в CatOS, когда они приобрели Crescendo в конце 1993 года. /p> CatOS работала на коммутаторах серий 200, 2948G, 4000, 4500, 5000, 5500, 6000 и 6500. CatOS все еще может работать на некоторых модульных коммутаторах Cisco, «гибридных» режимах. В гибридном режиме NMP (процессор коммутатора) запускает CatOS, а в маршрутном процессоре работает Cisco IOS. Сравнение CatOS и IOS Есть три варианта ОС для коммутаторов линейки Catalyst: CatOS, гибридный режим (hybrid) и нативный режим (Native IOS). CatOS настраивает только коммутацию второго уровня. Для коммутаторов Catalyst третьего уровня (Catalyst 6500 с MSFC - многоуровневой функциональной картой коммутатора), CatOS можно использовать для функций второго уровня, а IOS может управлять MSFC. Этот процесс называется гибридным режимом. В нативном режиме IOS управляет функциями уровня 2 и уровня 3 в коммутаторе. Новые модели Cisco Catalyst Switch (с новейшими версиями Cisco IOS) также позволяют конфигурировать через модуль веб-графического интерфейса (GUI), который представлен на HTTP-сервере, расположенном на коммутаторе Cisco Catalyst. Команда IOS ip http-server позволяет использовать эту конфигурацию. В IOS 12.x эта команда всегда включена как заводская настройка. Некоторые новейшие модели коммутатора Cisco Catalyst (называемые Catalyst Express) больше не разрешают доступ к IOS или CatOS вообще - эти коммутаторы можно настроить только с помощью графического интерфейса. Свойство CatOS Cisco IOS Конфигурационный файл Два конфигурационных файла: один для NMP, один для MSFC Один конфигурационный файл Образ ОС Два образа: один для NMP, один для MSFC Один образ Стандартный статус порта Каждый порт включен Каждый порт в выключенном состоянии Формат конфигурационных команд Команды с ключевым словом set определяет каждую конфигурационную команду Структура команд Cisco IOS с командами глобального уровня и уровня интерфейса Режим конфигурации Нет конфигурационного режима (команды set, clear и show) Команда configure terminal активирует режим конфигурации Теперь сравним команды CatOS и IOS CatOS Cisco IOS set vlan [vlan-id] [mod]/[port] interface [gigabit/fastethernet] [mod]/[port]switchportswitchport mode accessswitchport access vlan [vlan-id] set port enable [mod]/[port] interface [gigabit/fastethernet] [mod]/[port]no shutdown set port disable [mod]/[port] interface [gigabit/fastethernet] [mod]/[port]shutdown set spantree portfast interface [gigabit/fastethernet] [mod]/[port]spanning-tree portfast set port speed [mod]/[port] [auto/10/100/1000] interface [gigabit/fastethernet] [mod]/[port]speed [auto/10/100/1000] set port duplex [mod]/[port] [half/full] interface [gigabit/fastethernet] [mod]/[port]duplex [auto/full/haif] reset system reload show cam dynamic show mac-address-table dynamic show channel show etherchannel summary show port [mod]/[port] show nterface [gigabit/fastethernet] [mod]/[port] show spantree show spanning-tree show trunk show interfaces trunk show vlan show vlan show vtp domain show vtp status set system name [label] hostname [label] set spantree backbonefast spanning-tree backbonefast set spantree macreduction table spanning-terr extend system-id
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59