Ray Of Hope

security throught TPM

Security Through vTPM What is TPM: A Trusted Platform Module (TPM) is a microchip that is connected to the motherboard of a computer. The intent of a TPM is to create and store cryptographic keys, like RSA keys. One of the main function of the TPM is to measure the components loaded before the operating […]

Posted in Uncategorized | No Comments

ZwReadFile and FltReadFile

Today I was working on mini filter driver which required me to copy some data from one file to other. Looked quite a simple operation with ZwReadFile doing the reading and ZwWritefile to write the data. But then I noticed that after doing few reads and write ZwReadFile hanged. Interesting…. Added few traces before and […]

Posted in Basic C, Microsoft Internals | No Comments

interrupt path xen

interrupt generated by the hardware. based on the static interrupt routing configuration provided by ACPI table at boot time, the corresponding link is selected. Interrupt is delivered to IO-APIC. Most modern days IO-APICs converts interrupt to msi i.e memory writes to specfic address in LAPIC name space . Each interrupt is mapped to a specific […]

Posted in Uncategorized, virtualization, Xen | No Comments

secure Xen throught XSM

XSM (Xen Security Modules) is security frame provided by Xen to secure Xen domains. The implementation of the framework lies within FLASK (Flux Advanced Security Kernel) policies. XSM is the policy definition entity while FLASK is an enforcement engine. Aspects of domain(s) that can be controlled: 1) interaction between domains (domU vs domU / dom0 […]

Posted in Uncategorized, virtualization, Xen | No Comments

Is Google – really worth it ??

Recently I attended an interview with Google and I didn’t clear and was given usual reasons. (yeah, you might think if I would have cleared I would not have written this blog post. May be you are true. But….. here is my brain dump). But the big questions that that always comes to my mind […]

Posted in Uncategorized | No Comments

Artificial Intelligence – The real intelligence behind it.

I have been doing research in the field of AI: going through various tutorials, studying the maths behind them and writing simple programs that uses different models to predict outcome. I have been disturbed by the hype and marketing that have been associated with the term. Some uninformed people or may be companies create this […]

Posted in Artificial Intelligence, Deep Learning, Machine Learning | No Comments

dynamic scheduler that can self-learn – 2

On thinking further (based on the earlier article: http://www.justkernel.com/Blogs/?p=322), I am not sure whether what I described is just an optimization or learning. I have a data and the prediction confirms to the set of the data that I have. That is just an optimization and not learning. But what I need is some model […]

Posted in Uncategorized | No Comments

dynamic scheduler that can self-learn

I want to make scheduler dynamic so that it can give maximum performance based on the different workload by adjusting its configuration. To start with a simple case I have chosen runqueu configuration. Problem Statement : Consider a simple usecase: The person who doesn’t have much knowledge about the scheduler will have a hard time […]

Posted in Xen | No Comments

Introduction of runqueue per cpupool for credit2 scheduler – Xen

Current infrastructure in Xen allows only a global runqueue flags that will be applicable to all the cpupools (schedulers, there is 1:1 correspondence between cpupools and scheduler instance running in a system). for eg. if we have selected configuration of runqueue as socket, then all the cpupools created will have the runqueue per cpupool. This […]

Posted in Xen | No Comments

basic programs to clear the concepts

Userspace and kernel space virtual address space division. TO understand the address space allocation between user space and kernel space I wrote this simple program. Kernel space: 10 int init_module(void) 11 { 12 void * kern_mem; 13 kern_mem = kmalloc(5, GFP_KERNEL); 14 printk(KERN_INFO “Hello world addr=%lx”, (unsigned long)kern_mem); 15 return 0; 16 } O/P : […]

Posted in Basic C | 1 Comment