I'm taking an Operating Systems class for CIS and I am having so much trouble. There is so much to cover, I mean the chapters are about 80 to upwards of 100 pages each. I find the concepts difficult to grasp. I basically wanted to know if any of you have taken this class. And if so what kind of tips do you guys have. Is there any books that simplify this or any websites that would help. Btw this is general Operating Systems and how they work. Any help or encouragement would be appreciated.
I am taking a graduate version of it. I don't know about a CIS class, but in a EE/CS Undergrad class you need to make sure you understand the basics: Processes Memory Management Concurrency file systems scheduling algorithms Spend a lot of time understanding the concepts not and not necessarily the implementation.
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/VZ2HcRl4wSk&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/VZ2HcRl4wSk&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
i took a class during college but it's been over a decade. i remember terms like round robin priority scheduling, race conditions etc..., but i probably won't be able to help... been too long. are you tearing up minux? do they even use minux anymore? but shoot anyways.
Why do you think you're having such a difficult time with the concepts? Never thought about how OSes work? I changed out of Computer Science before we got to Operating Systems, but I did UNIX sysadmin work for almost a decade. I don't think I really understood what an operating system was and how it worked until I started tooling around with Linux and had to compile my own kernels, manage OS libraries myself, and compile code from source. Maybe that's what you need? Some practical, barebone OS experience. Maybe something like Gentoo, a source-based Linux distro, could give you a chance to build an OS from the ground up.
You could search Itunes U for something applicable, and if you find something please post here as I'm interested at a superficial level.
What do you want to know? In a 10000000 feet bird eye view, OS manages and allocate hardware resources. Seems to be a pretty easy concept.
Yea that makes sense. I mean you don't really learn anything until you try it yourself. Maybe the way I am looking at it is wrong. I'm looking at is as if I read without thinking I will learn it, but I need to dig deeper and think about how it all works. Ill look into trying to play around with Linux, it talks about it a lot in the book. Im going to research Gentoo right now. Thanks
The main thing that I have trouble with is the programming part, although we are not required to do that part. But also the calculations, for example calculating how long it takes a magnetic drive to find something or to format, and the book isn't much help
Don't know about MINUX but theres still Linux and UNIX, that along with Windows is all it talks about.
I second this. The concepts themselves just make sense... worry about the code and implementation after you grasp why things are done a certain way.
it's been awhile and this is off the top of my head but as i can recall, mutexes and semaphores are sentinels (or flag) assigned to a thread so that two threads can't cause a race condition. for example, in a prioritized round robin scheme, a thread is given a priority from 1-9. the thread goes through it's turn, each time minus 1 off it's priority. it won't get processed until it reaches 1. when it does reach 1, it receives a mutex flag (or semaphore.. i forget which). no other thread gets processed until the that thread releases the mutex. the other process gets held in a filo queue either in memory or paged. if a thread haven't reached priority 1, it will be pushed back into the queue. i could be wrong of course... and minux is a os designed just for learning. it doesn't really run anything useful edit: after a quick search on mutex, i kinda remember more. i think a mutex is a subroutine that assigns the flag (semaphore) to keep two processes from using a common resource at the same time by using a algorithm like the one i explained above.
you'd have to do your own research of course... i don't want to be responsible for you getting an f. :grin:
If you're this far into college and just figuring this out, that sounds like a problem to me. Have you actually learned anything in your previous courses, or have you just been following this method of memorizing what's in the book to pass the class? Anyway, good luck to you.
These concepts can be important if you want to work in lower level programming close to hardware or network stuff. Otherwise, they are like why 1+1=2
Don't they give you books in this class? If so, have you read them? What OS are you studying, IBM's OS/2?
well thats the thing. the previous classes have been easy, you learn the facts, but here its like it skipped certain levels and it seems almost like there needed to be some classes to prepare me for this. Since CIS is a business major, I have learned many things on other courses as well as CIS courses. But for the most part going over and over it in the book usually clears stuff up for me, this OS book is really difficult, I go over and over again and it just doesn't make sense. Its like most books give you solutions, but this one doesn't. Even the professor said that I need to research on my own. In turn that is what I am doing here. Getting help from people who know the stuff. I don't want to give the impression that I am lazy, otherwise I would be looking for answers :grin: . I'm simply looking for clarification. Thanks for you input.