Introduzione SO

Scopi del sistema operativo 🟩 Un sistema operativo è una astrazione sul HW che permette di Gestire l’esecuzione di più programmi assieme (concorrenza), tramite virtualizzazione CPU e Memoria Gestire le risorse (Quindi I/O, RAM, Memoria, Networking) Fornisce una interfaccia di programmazione (API) molto più generale e potente, in grado di astrarre da dettagli di livello basso, vicini all’Hardware (come device drivers). Quindi in breve il SO è n programma che crea un ambiente civile per i programmi in cui interagire, e facilita molto il lavoro al programmatore per la sua interfaccia nuova. (si potrebbe dire che sia una macchina virtuale con un suo linguaggio (che è l’API) se seguiamo la terminologia di Macchine Astratte) ...

4 min Â· Xuanqiang 'Angelo' Huang

Livello ISA

il livello isa è il livello delle istruzioni 8.1 Struttura Potremmo definire l’architettura di un elaboratore come tutte le parti del processore che una persona abbia bisogno di sapere per scrivere codice assembly. Istruzioni possibili Registri Solitamente le istruzioni sono divise in due parti: 8.1.1 Opcode e indirizzamento Opcode Questo opcode indica la tipologia di istruzione. Per esempio per l’architettura HACK è il primo bit, che indica se è una istruzione C oppure una istruzione A. ...

4 min Â· Xuanqiang 'Angelo' Huang

Memoria

4.1 Caratteristiche della Memoria La gerarchia della memoria, più si va giù più spazio si ha, più è lento il caricamento delle informazioni 4.1.1 Catalogazione della memoria Le tipologie di memoria sono presenti a fianco. In generale più la memoria è veloce da riprendere, più è costosa da memorizzare (c’è poco spazio) 4.1.2 Byte e Word Il libro a pagina 74 parte con la discussione del perché si è preferito evitare la BCD (Binary coded decimal, in cui i numeri da 0 a 9 erano codificato da 4 bit), per questioni di efficienza. ...

8 min Â· Xuanqiang 'Angelo' Huang

Note sull'architettura

Interrupt Descrizione iniziale 🟩 Di interrupt e trap se n’è parlato un pò in Livello ISA di architettura, ora andiamo ad approfondire come viene gestito a livello SO. Un interrupt è un segnale che viene mandato o da un dispositivo hardware (di solito dopo la fine di un processo input output) oppure da software, in questo caso viene chiamato trap che è un interrupt software sincrono.. Slide Interrupt Hardware e software ...

8 min Â· Xuanqiang 'Angelo' Huang

Processi e thread

Il processo e la gestione dell’esecuzione è uno dei compiti principali dei sistemi operativi. Lo vuole fare in maniera efficace ed efficiente, come descritto in Note sull’architettura. Slide schema generale tabelle Processi Il process control block è la struttura di dati principali da comprendere. Ha una tabella dei file aperti, che sono dei file descriptor (all’interno della propria struttura di dati), riferiti a una tabella dell’interno sistema credo, e questi puntano a un VNode che permette di localizzarlo nella memoria secondaria. ...

5 min Â· Xuanqiang 'Angelo' Huang

Algebra lineare numerica

In questa sezione andiamo ad indagare metodi di scomposizione, iterativi e non. Ci sono molte matrici importanti per questa parte che dovremmo prendere confidenza. Immagini Lab 2 images Metodo di gauss Vogliamo cercare un metodo per calcolare soluzioni a sistemi di equazione del genere: $Ax = b$, classico. Supponiamo che questo sistema abbia una soluzione. Il nostro obiettivo sarebbe scomporre la matrice $A = LU$ come prodotto di due matrici Lower triangular e Upper triangular. ...

9 min Â· Xuanqiang 'Angelo' Huang

Bias Variance Trade-off

This note should be considered deprecated. There is not much about Bias Variance Trade-off, and its quite random and old. For a correct derivation for this, you should consider looking at Linear Regression methods. Introduction È una cosa ormai risaputa che c’è una sorta di trade-off fra la varianza e il bias per una certo modello. Aumentare la varianza del modello certamente ci permetterà di avere un modello che abbia un errore di training molto basso, però appena vede dei dati nuovi non sarà in grado di generalizzare correttamente. Dall’altra parte avere un bias alto significa avere un modello eccessivamente semplice, poco flessibile, che comunque allenato non riesce ad avere una grande accuratezza né in fase di allenamento, né di in fase di validazione o di test. ...

4 min Â· Xuanqiang 'Angelo' Huang

Cluster Management Policies

Introduction to cluster management How can we allocate the resources in a cluster in an efficient manner? How can we allocate resources fairly? Two step allocations 🟨++ There are two main kinds of allocation: first you need to allocate resources to a process, then allocate the process physically in the cluster. Private and public cluster management 🟥++ Cluster management could be private or public. Private means every app is managing their own sub-cluster: each app receives a private, static set of resources. Here it is easier to manage hardware for various needs. Public means there is a big cluster, like standard third party ...

4 min Â· Xuanqiang 'Angelo' Huang

Data Analysis Methods in Neural Science

This note is just a collection of past useful notes to know to apply machine learning methods for the analysis of topics interesting in the neural sciences. Estimators You need to know all Parametric Modeling. We want to estimate unknown random variables with some observations. Maximum Likelihood See Bayesian Linear Regression. Bias-Variance Decomposition Fisher Information See Parametric Modeling#Fisher information. Applications Echo-locating bats Bats use echo location to locate the target, a platform. Bats use to click slightly left and right compared to their direction of motion. ...

1 min Â· Xuanqiang 'Angelo' Huang

Parametric Modeling

In this note we will first talk about briefly some of the main differences of the three main approaches regarding statistics: the bayesian, the frequentist and the statistical learning methods and then present the concept of the estimator, compare how the approaches differ from method to method, we will explain maximum likelihood estimator and the Rao-Cramer Bound. Short introduction to the statistical methods Bayesian 🟩 $$ p(\theta \mid X) = \frac{1}{z}p(X \mid \theta) p(\theta) $$The quantity $P(X \mid \theta)$ could be very complicated if our model is complicated. ...

11 min Â· Xuanqiang 'Angelo' Huang