Operating Systems 2017F Lecture 4: Difference between revisions

From Soma-notes
Ssarazin (talk | contribs)
No edit summary
 
Line 2: Line 2:


Video from the lecture given on September 19, 2017 [http://homeostasis.scs.carleton.ca/~soma/os-2017f/lectures/comp3000-2017f-lec04-19Sep2017.mp4 is now available].
Video from the lecture given on September 19, 2017 [http://homeostasis.scs.carleton.ca/~soma/os-2017f/lectures/comp3000-2017f-lec04-19Sep2017.mp4 is now available].
==Notes==
- The textbook
  - Is just for reference as supporting material.  The class lectures will not follow the text.
- Some concepts from the tutorial
  - Running an ltrace on a statically compiled program prints an error.  The error just explains that the file was not dynamically compiled "couldn't find .dynsym"
  - What is obj code?
    - machine code.  It is important to have a good mental picture of what is happening.  Notice that addresses are unique for each process.
  - The point is that the system is not clean, it is complicated and not well understood.
- How to build a Linux machine using virtualbox and an iso image (concepts)
  - iso: international organization for standardization for optical disk media
    - it's a cd or dvd
  - The VM uses a dynamically allocated hard drive.  It is a file that has a filesystem and it grows and shrinks as needed.
  - Hard drive partition: Creates memory segments on the disk that is used to store different types of data.
  - Memory swapping: The processor uses hard disk space when it runs out of RAM.
- Things about linux
  - '''Why is the kernel split?'''
    - So the various hardware modules can be added to the system when the hardware is installed
    - We can see the modules using ls mod or cd /sys/proc
  - Environment Variables
    - TERM or USER for example.  They are capitalized by convention.  The significance is that these variables belong to a process (like a shell). 
    - Child processes inherit the environment variables from the parent; envp[] stores the values of these variables.
- Things that can be done in a shell
  - We can run programming commands directly in the shell
    - things like loops and conditionals
    - $ defines a variable
    - echo is the shell's version of printf
- ssh
  - used to access remote machines using a secure shell
  - The ssh uses a file that stores authorized keys.  If a user has a key for the remote terminal then they do not require a password.
  - certificates
    - used by websites to maintain security
    - A secure website encrypts the data so it can't be viewed by hackers.

Latest revision as of 00:19, 5 October 2017

Video

Video from the lecture given on September 19, 2017 is now available.

Notes

- The textbook
  - Is just for reference as supporting material.  The class lectures will not follow the text.
- Some concepts from the tutorial
  - Running an ltrace on a statically compiled program prints an error.  The error just explains that the file was not dynamically compiled "couldn't find .dynsym"
  - What is obj code?
    - machine code.  It is important to have a good mental picture of what is happening.  Notice that addresses are unique for each process.
  - The point is that the system is not clean, it is complicated and not well understood.
- How to build a Linux machine using virtualbox and an iso image (concepts)
  - iso: international organization for standardization for optical disk media
    - it's a cd or dvd
  - The VM uses a dynamically allocated hard drive.  It is a file that has a filesystem and it grows and shrinks as needed.
  - Hard drive partition: Creates memory segments on the disk that is used to store different types of data.
  - Memory swapping: The processor uses hard disk space when it runs out of RAM.
- Things about linux
  - Why is the kernel split?
    - So the various hardware modules can be added to the system when the hardware is installed
    - We can see the modules using ls mod or cd /sys/proc
  - Environment Variables
    - TERM or USER for example.  They are capitalized by convention.  The significance is that these variables belong to a process (like a shell).  
    - Child processes inherit the environment variables from the parent; envp[] stores the values of these variables.
- Things that can be done in a shell
  - We can run programming commands directly in the shell
    - things like loops and conditionals
    - $ defines a variable
    - echo is the shell's version of printf
- ssh
  - used to access remote machines using a secure shell
  - The ssh uses a file that stores authorized keys.  If a user has a key for the remote terminal then they do not require a password.
  - certificates
    - used by websites to maintain security
    - A secure website encrypts the data so it can't be viewed by hackers.