themangokid
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    ###### tags: `Dator- och nätverksteknik` # OS (Operativsystem) - Main document * Ett operativ system (OS) måste finnas för att vi ska kunna använda en dator * Operativsystemet är Länk mellan användare och hårdvara * Ett OS sköter bl.a. * Inmatning och utmatning av data (också kallat I/O) * Minneshantering för programmen som körs i RAM:et * Processprioritering, bland annat schemaläggning * Gränssnittet som tillåter programmen att "prata" med hårdvaran heter HAl (hardware abstraction layer) --- > https://en.wikipedia.org/wiki/File:Computer_abstraction_layers.svg * Ett operativsystem består av * **Drivrutiner** * Systemfiler (.dll) * Programfiler (.exe) --- --- * I Windows är detta oftast samlat under Windows C. * En installation av Windows 7 består av över 30000 filer och tar ca 7 Gb diskutrymme. --- ## **Kopplingen mellan mjukvara och hårdvara** * HAL: * Hardware Abstract Layer (HAL)Operativsystem: Introduktion och viktiga begrepp * Ett OperativSystem (OS) måste finnas om vi ska kunna använda en dator * Länk mellan användare och hårdvara --- * Ett OS sköter bl.a. * Inmatning och utmatning av data * Minneshantering för program * Processprioritering * Gränssnitt som tillåter programmen att “prata” med hårdvaran * Loopen --- * Ett operativsystem består av * Systemfiler (.dll) * Programfiler (.exe) * Drivrutiner --- * Kopplingen mellan mjukvara och hårdvara* * Abstraherar hårdvaran från operativsystemet * Gör att operativsystemet kan fungera på flera olika datorer med olik hårdvara så länge det är samma arkitektur (x86/x64) --- * Application Programming Interface (API) * Programvarufunktioner som operativsystemet tillhandahåller och som olika program kan använda sig av * Mycket av detta är (i WIndows) DLL-filer --- * Multitasking * Förmågan att kunna göra flera saker samtidigt * Ej samma sak som concurrency och parallellisering * Concurrency: Datorn kör ej saker samtidigt men vi uppfattar det som samtidigt eftersom den gör det väldigt snabbt, alltså samtida processer * Parallellisering: Datorn kör parallella processer --- * Processer * De program och tjänster som körs på datorn * Tjänst (Service) * Ett program som körs i bakgrunden * TimeBroker är ett hatobjekt * Trådar (Threads) * En process eller program kan bestå av flera trådar och gör då flera saker parallellt --- --- ```mermaid gantt title Scheduler section Process 1 Chrome :a1, 2025-01-01, 30d Python App :after a1 , 20d section Process 2 Windows :2025-01-12 , 12d Macafee : 24d ``` --- * Virtuellt minne * Används när arbetsminnet inte räcker till. Datorn lagrar då data på hårddisken i en s.k. växlingsfil eller pagefile. Filen heter pagefile.sys i Windows och ligger dold i roten på systempartitionen. --- * Virtuell dator * En Virtual Machine (VM) skapas med en hypervisor och är programvara som fungerar som en "dator i datorn". --- * Interrupt * Interrupt ReQuest (IRQ) är en hårdvarusignal som skickar en signal till processorn som pausar det program som körs. --- * DMA * Direct Memory Access används när någon komponent i datorn ska få direkt åtkomst till minnet utan att belasta processorn --- * GUI * Graphical User Interface är benämningen för det grafiska gränssnittet * Eller "det man ser" * CLI * Command Line Interface är benämningen för teckenbaserat användargränsnitt * T.ex. Terminal, CMD, Bash <br> --- ![img](https://i.imgur.com/dM3h7UC.png) <br> ## **Viktiga begrepp:** * Hardware Abstract Layer (HAL) * Gör att operativystemet kan fungera på flera olika datorer med olika hårdvara * Så länge det är samma arkitektur (x86/x64) * Application Programming Interface (API) * Programvarufunktioner som tillhandahåller och hanterar olika funktioner. * Dynamic Link Library (DLL) * Innehåller programkod, data eller resurser såsom bilder, videor och ljud. Används främst i Windows och OS/2. <br> ## **Olika slags OS** * Microsoft Windows * Windows XP, Vista, 7, 8, 8.1, 10, 11 * Windows Server 2003, 2008, 2012 * Linux * Ubuntu, Linux Mint, Debian, Slackware, Red Hat, SuSE, CentOS, Arch Linux, Manjaro * MacOS * BSD Unix * FreeBSD, OpenBSD * Apple iOS * Android * Linuxbaserad * Open Source --- ## **Operativsystem - Funktioner** * Fortsättning: * Windows, Dos, Linux, MacOS, iOS, Unix, Android, Ubuntu, Kali, Solaris, Arch, Solaris, Fedora, Chrome OS * Headless - inget GUI (Graphical User Interface), endast terminal * SSH:a - Innebär att man använder terminalen för att gå in på en annan dator. * Är den del i datorn som kopplar ihop hårdvaran (och fast programvara) med mjukvaran. * Funktioner: * **Security** * **User management** * **Job accounting** * **Error detecting aids** * **Coordination between other software and users** * "Operating systems also coordinate and assign interpreters and compilers" * Compiler: Runs code via a compiled file, e.g. a .exe file. * Interpreter: Runs code via direct input into the terminal * **Memory management** * It keeps track of memory, i.e which bytes of memory are occupied by each program and which bytes are free. * The OS decides the order in which processes are granted access to memory, and for how long. * It allocates the memory to a process when the process requests it and deallocates the memory when it is no longer needed. * **Processor management** * This function of the OS is called process scheduling. * Keeps track of the status of processes. * **Device management** * Måste finnas om vi ska kunna använda en dator. * Länk mellan användar eoch hårdvara. * Sköter bland annat: * Inmatning och utmatning av data * Minneshantering för program * Processprioritering * Gränssnitt som tillåter programmen att "prata" med hårdvaran * Består av: * Systemfiler * Programfiler * Drivrutiner **<u>Mobiler</u>** - ARM-struktur **<u>CPU-strukturer:</u>** * AMD: 7 nm * Intel: 12 nm --- --- ## Allmänt * Alla OS är bara kod! * http://www.minix3.org/documentation/AppendixB.html * Som ni ser är detta operativsystem smått och får plats på ca 29000 rader * Parallella körningar * Exempel på schemaläggning: * FIFO (First In, First Out) * LIFO (Last In, Last Out) * Process om körs i bakgrunden * `herman$ sh minecraft.sh &` * '& gör att det körs i bakgrunden * **Minix** * Är ett OS som man lätt kan * Koda om schemaläggaren * Från FIFO till något annat * Skrivet i C++ * **Olika tolkar:** * Bash/Zsh * PowerShell (Windows) * CMD: Kommandotolken * Bash, Sh, Shell* * Zsh, bra alternativ: * Fler färgscheman * Många fler funtktioner * GitHub inbyggt * Code completion   **WSL:** * WSL står för Windows subsystem, som är ett eget filsystem som installeras på en windowsdator. Detta gör det möjligt att köra linux på windows utan att använda en VM --- --- ## **Krypteringsvarianter** * **Symmetrisk kryptering** * Både Alice (sändaren) och Bob (mottagaren) har en Public (Offentlig) och Private key. * **Assymmetrisk kryptering** * Bara Bob (mottagaren) har "nyckeln" till programmet. * Används för Bitcoin, SSH, SSL ## Krypteringsprocessen - Asymetrisk kryptering * Bob ger sin Public key till Alice * Alice krypterar filen med Bobs publika nyckel * Bob dekrypterar filen med sin Private key --- # PLUGGA EJ PÅ DET NEDANFÖR # PLUGGA EJ PÅ DET NEDANFÖR # PLUGGA EJ PÅ DET NEDANFÖR --- ## Parallela processer ## Säkerhet * **Denna genomgång behandlar följande:** * Malware * Skadliga program * Virus * En variant av malware som oftast samlar in information. Kräver interkation från användaren för att fungera * Phishing * Bedrägeri för att stjäla användaruppgifter * Social Engineering * Socialt manipulera folk eller institutioner för att få t.ex. information ## **Malware** * Huvudsyftet med malware är att tjäna pengar, stjäla information, trolla, eller vad som helst, egentligen. * **Olika sorters malware:** * Kräver interkation av användare * Skydd: Uppdaterat AV-program, utbildad persona * Worm * Kräver inte interaktion av användare * Skydd: Uppdaterat AV-program, brandvägga * Trojan Horse * Utger sig för att vara något men har en dold funktio * Skydd: Uppdaterat AV-program, utbildad persona * Buffer Overflow * Blottlägger minne genom att skicka input till systeme * Skydd: Uppdaterat OS och progra * Spyware * Samlar information om användaren utan dess vetska * Skydd: Uppdaterat AV-program, eller antispyware-progra * Adware * Fyller användarens dator med (ibland skadliga) annonse * Skydd: Uppdaterat AV-program, utbildad personal ## **Virus** * Ett datorvirus är ett körbart program som har förmågan att infektera andra filer och på så sätt sprida sig * Ett virus kan göra skada i form av: * Ansluta datorn till ett botnet * Förstöra eller ta bort data * Rensa hela diskar * E-posta sig själv till andra i din kontaktlista * Virus kommer i många former * Vanligast är fortfarande e-postbilagor eller via IM * Skript via e-post * Infekterade USB-drives * Infekterade filer som laddas hem * Vanligt bland crackade programvaror ## **Worms** * En *Worm* är ett program som kopierar sig själv från dator till dator via ett nätverk. * Skillnaden mellan ett virus och en mask är att en mask installerar sig själv. * I övrigt gör en mask samma skada som ett virus men kan utöver detta även överbelasta nätverket när den sprids. * Kända masker * Morris - en av de första, infekterade Unix-maskiner * Conficker - största med 7 miljoner drabbade * Sasser * Blaster ## **Trojansk Häst** * Mjukvara som verkar vara något annat än det egentligen är * Har dolda funktioner som ofta gör skada i bakgrunden * Kan hittas via aktivitetshanteraren * Kan ta över din dator på fjärr och utpressa dig ## **Social Engineering** * Hur säkert ett nätverk eller dator än är så kan en enskild person ställa till det. * Istället för att lägga en massa tid och energi på att fånga upp lösenord och knäcka dem så kan en anfallare helt enkelt fråga efter lösenordet * Social engineering är en samlingsterm ## Phishing * Innebär att en förövare utger sig för att vara eller representera någon/något annat och genom bedrägeri lurar till sig användarinformation. * En form av social engineering ## Bilder från lektioner ![](https://i.imgur.com/T0iQu9E.jpg) ![](https://i.imgur.com/RPYfhrK.jpg) ![](https://i.imgur.com/f9vbBbK.png) ## Videor från lektioner [Asymetrisk Kryptering](https://youtu.be/AQDCe585Lnc) ## Krypteringsprocessen - Asymetrisk kryptering * Bob ger sin Public key till Alice * Alice krypterar filen med Bobs publika nyckel * Bob dekrypterar filen med sin Private key ## SSH - Secure Shell * <u>SSH</u> * Krav på * "Connection" - Anslutning * <u>SSL</u> * HTTPS / HTTPS * Om man kör SSH på WiFi (LAN) så måste man vara på samma. * IP-adress * Port * Username [E:] * Password [PGP - Pretty Good Privacy] ![](https://cdn.discordapp.com/attachments/885115655504920606/911164672667942912/daodac_encryption_a-b-e.png) ## SSH * Secure Shell * Networking Protocol * Allows secure communications * Can secure any network service * Typically used for remote command line access * "I princip en BASH/Terminal-version av TeamViewer (Fjärrkontroll av dator)" ## **Botnet** * Mycket malware har som huvuduppgift att ta över en dator och ansluta den till ett **botnet** (robot network). * Ett botnet består av flera datorer *clones*/*zombies* * En server som kallas *command-and-control-server* kontrollerar datorerna i botnet. * Ett botnet används oftast för DDoS-attacker (Distributed Denial of Service) och för att skicka *spam* * Alla datorer med Internetaccess kan bli en zombie * Även de enheter som tillhör Internet of Things kan övertas ## OS - End of line The Carriage Return (CR) character (`0x0D, \r`) moves the cursor to the beginning of the line without advancing to the next line. This character is used as a new line character in Commodore and Early Macintosh operating systems (OS-9 and earlier). The Line Feed (LF) character (`0x0A, \n`) moves the cursor down to the next line without returning to the beginning of the line. This character is used as a new line character in UNIX based systems (Linux, Mac OSX, etc) The End of Line (EOL) sequence (`0x0D 0x0A, \r\n`) is actually two ASCII characters, a combination of the CR and LF characters. It moves the cursor both down to the next line and to the beginning of that line. This character is used as a new line character in most other non-Unix operating systems including Microsoft Windows, Symbian OS and others. [Source](https://www.ni.com/sv-se/support/documentation/supplemental/21/labview-termination-characters.html)

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully