# client
# sender
# recipient
# relay
smtpd_client_restrictions=
smtpd_sender_restrictions=
smptd_recipient_restrictions=
smtpd_relay_restrictions=
smtpd_data_restrictions=
smtpd_end_of_data_restrictions=
smtpd_etrn_restrictions=
smtpd_helo_restrictions=
mynetworks=
myhostname=
smtpd_helo_required=yes
# permit_mynetworks
# check_policy_service
# unknown
# reject_unknown_client
# reject_unknown_client_hostname
# reject_unknown_reverse_client_hostname
# reject_unknown_helo_hostname
# reject_unknown_hostname
# reject_unknown_sender_domain
# reject_unknown_recipient_domain
# hostname
# reject_unknown_client_hostname
# reject_unknown_reverse_client_hostname
# reject_unknown_helo_hostname
# reject_unknown_hostname
# reject_invalid_hostname
# reject_non_fqdn_hostname
# non_fqdn
# reject_non_fqdn_hostname
# reject_non_fqdn_sender
# reject_non_fqdn_recipient
# unauth
# reject_unauth_pipelining
# reject_unauth_destination
# sender
# reject_non_fqdn_sender
# reject_unknown_sender_domain
# recipient
# reject_non_fqdn_recipient
# reject_unknown_recipient_domain
a CAPABLITY
a LOGIN "user" "password"
a LIST "" *
a SELECT INBOX
a FETCH 1 RFC822
a STORE 1 +FLAGS (\Seen \Deleted)
a CLOSE
a EXPUNGE
a SEARCH
a LOGOUT
HELO/EHLO
MAIL
DATA
RST
VRFY
EXPN
NOOP
QUIT
Return-Path:
Recevied:
From:
To:
Subject:
Date:
Message-ID:
User-Agent:
MIME-Version:
Content-Transfer-Encoding:
Content-Type:
X-Assp-..:
X-Priority:
Delivered-To:
Reply-To:
%{
#include <stdio.h>
#include <ctype.h>
%}
%token NUMBER
%%
lines : lines expr '\n' {printf("%d\n", $2);}
| lines '\n'
;
expr : expr '+' term {$$=$1+$3;}
| expr '-' term {$$=$1-$3;}
| term
;
term : term '*' factor {$$=$1*$3;}
| term '/' factor {$$=$1/$3;}
| factor
;
factor : '(' expr ')' {$$=$2;}
| NUMBER
;
statement -> assignment | cond | loop
assigment -> id := expr
cond -> if boolexpr then statement fi |
if boolexpr then statement else statement fi
loop -> while boolexpr do statement od
expr -> boolexpr | numexpr
boolexpr -> numexpr cop numexpr
numexpr -> numexpr + term | term
term -> term * factor | factor
factor -> id | const | (numexpr)
#!/bin/bash
# ./skript.sh
# bash skript.sh
# /bin/bash ./skript.sh
# Dies ist ein Kommentar
echo "Dies ist eine Ausgabe"
var1=Hallo
var2=Welt
echo $var1
echo $var2
if [ $var1 == $var2 ]
then
echo $var1
else
echo $var2
fi
while [ $var1 == $var2 ]
do
echo $var1
done
for var3 in "a " "b " "c "
do
echo $var3
done
typeset -i i=15
i=$(( 4+5 ))
i=$(( (4+2)*7 ))
while [ $i -le 50 ]
do
echo $i
i=$(( $i+1 ))
done
useradd
userdel
usermod
groupadd
groupdel
groupmod
newgrp
id
passwd
chsh
chfn
man
info
locate
grep
find
mv
mmv
cp
cd
mkdir
touch
rm
rmdir
unlink
pwd
basename
md5sum
blkid
lsblk
lsof
diff
comm
cut
cat
exit
echo
mount/umount
CPU
IF - Instruction Fetch - Befehlsholestufe
ID - Instruction Decode/Register Fetch - Befehlsdekodierstufe
EX - Execute - Ausführungsstufe - ALU
MEM - Memory - Speicherzugriff
WB - Write Back - Rückschreibephase
Pipeline
Pipeline-Stufe = Pipeline-Segment
Pipeline-Maschinentakt
Pipeline-Hemmnis/Pipeline-Hazard/Pipeline-Konflikt
Durchsatz einer Pipeline
BTAC - Branch Target Adress Cache - Sprungzieladresspuffer
BTB - Branch Target Buffer
Datenkonflikte
Steuerflusskonflikte
Struktur und Ressoucenkonflikte
Echte Datenabhänigkeit: Lese nach Schreibe Konflikt RAW
Gegenabhänigkeit: Antidependence: WAR - Schreibe nach Lese
Ausgabeabhängigkeit: Output-Dependence: WAW : Schreibe nach Schreibe
Sprungvorhersage:
Statisch
Dynamisch
Statisch:
- Predict Always Taken
- Predict Always Not Taken
- Predict Backward Taken, Forward not Taken
Dynamische
1. Ein-Bit-Prädiktor
- T - Taken - genommen
- NT - Not Taken - nicht genommen
2. Zwei-Bit-Prädiktor
- Predict Strongly Taken (11)
- Predict Weakly Taken (10)
- Predict Weakly Not Taken (01)
- Predict Strongly Not Taken (00)