[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


[Advertise on 4chan]


File: Linux.jpg (154 KB, 696x522)
154 KB
154 KB JPG
how kernels are made ?
>>
>>106752032
from corn
>>
>>106752032
From nigger dicks you retard
>>
>>106752032
You basically just need to know how to prompt it. The ai will want to know your target platforms and features.
>>
this is how he used to look like

feel old?
>>
File: arch tan.png (539 KB, 866x996)
539 KB
539 KB PNG
>>106752032
You see, when a fa/g/ loves arch-tan very much he writes code for her and torvald flies in on a penguin with a kernel . You just get old versions since you don't code for arch tan
>>
>>106752032
>Kernal
The Commodore KERNAL (Keyboard Entry Read, Network, And Link)?
>>
>>106752032
You need to know assembly language. In other words, you need to be leet.
>>
>>106752674
you can do it with c right?
>>
>>106752667
I guess ?
>>
>>106752622
why so aggressive anon
we get it you like porn
I do too
but its better if we stopped
>>
>>106752032
start with figuring out how to boot and print text, init the irq controller and mmu with page tables setup such that while in kernel mode you can access all of ram due to virtual = physical address "identity mapping" so that you can enable paging and then implement a page frame allocator and slub allocator for dynamic allocation of kernel objects. then start implementing task struct with code/data/heap/ustack segment allocation and a fixed-size kernel stack per task used for calculations within irq routines and for save/restore of registers during context switches. get context switch working. implement posix's clone function, process and thread exit (single task vs group exit), zombie process cleanup. processes are just groups of threads aka tasks, one of which is the "group leader" that acts as the struct which contains the process' general info and has the task-unique id equal to the process-unique id. also implement various other posix syscalls. then worry about more writing more device code such as usb or keyboard input or a tty interface and whatever else you want to support.

once you have enough syscalls and kernel features you can start working on a userland if you want.

basically, draw the rest of the fucking owl. you're not paying me enough for this
>>
>>106752751
I will do it for you anon
>>
>>106752751 continued
assembly language is required in the kernel, but generally only in areas where you're hopping to/from kernel mode. once you've hopped into kernel following interrupt entry you can mostly go back to using c because you have "bound" the running task's kernel stack on which you can do calculations and call functions and all that stuff that c implicitly push/pops. once you've "trampolined" into the userland's init process after you've booted and got your memory spaces, device init, and tasks/scheduling in place you will only be hopping into kernel for short periods of time via interrupts that get triggered, often from expiring timers but most commonly from trap instructions (for syscalls)
>>
>>106752032
copypasting MINIX code
>>
>>106752794
>>106752751
So, that's all? An afternoon writing Java and done?
>>
>>106753375
thanks to all of the resources you can find online, simple kernels aren't necessarily "hard" assuming you have a good understanding of the cpu's features, basic hw programming concepts like dma, and high-level understanding of kernel design

but, when implemented, they are very complicated and take a lot of time to get everything right. actually fleshing a kernel out takes an eternity
>>
>>106752667
Goddamn knowing this makes me feel old.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.