{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "ea2b5cac", "metadata": { "hide_input": true, "jupyter": { "source_hidden": true }, "slideshow": { "slide_type": "skip" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "%run -i ../python/common.py\n", "%run -i ../python/ln_preamble.py" ] }, { "cell_type": "markdown", "id": "55f80fff-ab22-4698-ba1c-779b57fe4b33", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# SLS Lecture 4 : Editors, Make and Terminal IDEs\n", "and some shell script programming to boot\n", "
\n",
" \n", "Breaks down in to two parts\n", " \n", "1. Hardware\n", "2. Software \n", " \n", " | \n",
" \n",
" ![]() | \n",
"
\n",
" \n", "Software broken down \n", "\n", "1. Operating System\n", "2. User (Everything else) \n", " \n", " | \n",
" \n",
" ![]() | \n",
"
\n",
" \n", " \n", "### OS Kernel System Calls\n", "\n", "1. Processes talk to kernel through system calls\n", "2. System Calls can take arguments and return values\n", " \n", " | \n",
" \n",
"![]() | \n",
"
\n",
" \n", " \n", "### OS Kernel Data Structures and Objects\n", "\n", "1. Kernel provides abstract objects like processes, files, tree of path names, users, etc\n", "2. Internally, uses data structures to represent the necessary state\n", " \n", " | \n",
" \n",
"![]() | \n",
"