Does the CPU of the Raspeberry Pi 3 B+ use the same assembly as other CPUs? [closed] - raspberry-pi

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I want to use my Raspeberry Pi to learn how to make operating systems. I know that to make one I need some assembly code for the bootloader so I can call a function in a kernel written in C. Would the ARM CPU of the Pi use the same assembly code for if I was writing an OS for a normal CPU? Would the OS development steps be similar to normal?

Yes it would be similar but as it goes with kernel development it may differ in the details like (what instructions are supported by raspberry pi3 itself).Having said that be prepared to do a lot of reading of the arm-v8 instruction set and of course operating system concepts if you have not yet.
As a general tip if you are new to kernel development start with a single cpu and once you are confident enough you can start multi core.
Also I will be pointing out few links which are extremely helpful in building operating systems for raspberry pi for beginners
https://github.com/s-matyukevich/raspberry-pi-os
https://github.com/rsta2/circle64
https://github.com/LdB-ECM/Raspberry-Pi
https://www.raspberrypi.org/forums

Related

Implementating command interpreter in kernel [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I was reading operating system concepts by Silberschatz and i came across
"Some operating systems include the command interpreter in the kernel"
statement.
I cannot understand how such an arrangement will be implemented. also if you cn give some examples of os which provide such arrangement.
Thank you for taking time to help.
Some operating systems do this, like vxWorks. It's just taking the shell itself, and packing it into the kernel. If you can do something in user space (ie: shell as a user space application), you can do it (with some difficulty) in the kernel. The usual caveats apply, such as not being able to link user space libraries into kernel code, etc.
It's easy, on Linux for example, to write directly to a PTY from a kernel module. You can just as easily get the stdin for a process by hijacking system calls, among other methods. Now you have your I/O mechanisms, and just need a parser to handle all the internal logic.

Do libraries exist for building operating systems? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
So I'm curious about this. I assume the building of operating systems is a monumental task, especially with all the back end stuff that an os involves. I was curious if I wanted to rework the front end of an operating system, but take advantage of existing architecture/backend, what would be the best resources to use? Also, can you guys point to any examples of well designed front ends of operating systems that aren't really mainstream? It seems like everyone uses pretty large well known OS.
Yes, you can. But like you said, it's a huge, huge task. I am not sure of windows or mac, but in Linux you have options to do so. You can download a Kernel from https://www.kernel.org/ and write applications around it.
If your goal is to make applications around the kernel, then look at linux application development resources. Check out linux desktop environments https://en.wikipedia.org/wiki/Desktop_environment#History_and_common_use to see which one is good.

Is MatLab worth buying? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I can access MatLab on school computers, but it would be more like a convenience factor as of right now. I want to get into programming using raspberry pi later on, but is it worth buying in the meantime? Will it be useful to me as a computer engineer? Thanks.
I have used Matlab as a student and employee for over 10 years now. I have recently taken an interest in Python as a free open-source alternative to Matlab and have been extremely impressed. Matlab is a very powerful and convenient tool, but has a significant cost, especially if toolboxes are needed. Python seems to cover all the same capability needs that I have in Matlab (with toolboxes), and if I ever need help doing something in python that I know how to do in matlab, I just do a quick google search and 9 times out of 10 I end up on this website, taking advantage of the questions that others have already answered.
With your question on Raspberry pi, it can actually run python code on board, but not the case for matlab.
I am not a computer engineer, but am of the opinion that python would likely benefit you more than matlab in the end as it is free, more widely used and can be used on devices such as raspberry pi. For reference, I have degrees in physics and electrical engineering and spend a great deal of time at work building optical sensors, operating them, and processing their data.
One more note: I like the Anaconda distribution of python, highly recommended

Good books or resources for understanding OS, kernel and CPU architectures [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I need to learn the basic knowledge of OS, kernel and CPU architectures since some jobs do require those background.
Is there a good book or online resource that I can refer to.
I don't know if you had a specific OS in mind, but one of the best books on how the Windows operating system works "under the hood" is called Windows Internals. It describes in detail how everything from the kernel, to device drivers, and the file system all work.
If your looking for a good book on how CPUs and processors work, in general, I recommend Computer Architecture: A Quantitative approach. Very good info there!
Also, some good resources on how CPUs work, with perspective to programmers, can be found from the Intel technical library. Everything is free to download there and it makes for some good reading!

Windows driver programming or Linux driver programming? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I want to learn driver programming. But I don't know anything about it, except a driver is something that acts as an interface between the operating system and the outer world. What is easier to learn, Windows driver or Linux driver programming?
Where should I start?
I am at an intermediate stage in C programming. What are the prerequisites? As I, in 2010, graduated as a B.Tech. in computer science from an average college, can I start doing driver programming? I mean, can only experienced persons program drivers? What are the career oppurtunities in this field?
I'd say Linux device driver programming is easier than Windows, only because you've got access to thousands of drivers in the Linux kernel source tree that you can copy from. (And you can copy from them, because it's all GPL v2 licensed. You just have to GPLv2 license your driver too.)
The Linux Device Drivers, 3rd Edition book might be the best starting point. It's a little dated at this point, and the "flavor of the month" for many of the different techniques in the book have changed several times over, but it will get you experience writing small drivers and adding functionality over time. Once you've got some more experience, then the new "flavor of the month" for the different mechanisms will make much more sense to learn about it.