#What is Linux and its function?
Explore tagged Tumblr posts
Text
What is Linux and its function?
In today’s technology-driven world, the word “Linux” appears in many conversations about operating systems, servers, and programming. Although it’s often associated with tech experts and developers, Linux powers many devices that people use every day—even without realizing it.
So, what exactly is Linux, and what are its functions? Let’s explore its definition, history, components, and real-world uses.
What is Linux?
Linux is a free and open-source operating system (OS) based on Unix. Like other operating systems such as Windows or macOS, Linux manages the hardware and software resources of a computer, allowing users to interact with the system and run applications.
Unlike Windows or macOS, however, Linux is open-source, which means its source code is freely available for anyone to view, modify, and distribute. This openness has led to the development of hundreds of distributions (or “distros”)—versions of Linux tailored to different needs.
Key Characteristics of Linux:
Open Source: Anyone can modify and distribute it.
Free to Use: Most distributions are free to download and install.
Multiuser and Multitasking: Supports multiple users and concurrent tasks efficiently.
Highly Secure: Built-in permission and user management systems.
Customizable: Every component can be tailored for specific use cases.
Brief History of Linux
Linux was created in 1991 by Linus Torvalds, a Finnish computer science student, as a hobby project. He wanted to build a free and open-source alternative to the MINIX operating system, which was itself a Unix-like system used for teaching.
Torvalds released the first version of the Linux kernel, the core part of the OS, and it quickly attracted a global community of developers. Over the years, contributors around the world added features, developed graphical interfaces, and built complete systems using the Linux kernel.
Today, Linux is at the heart of operating systems used in servers, smartphones (like Android), supercomputers, and even IoT devices.
What is the Function of Linux?
At its core, the primary function of Linux—like any operating system—is to act as an intermediary between hardware and software. It allows users and applications to communicate with the computer’s hardware in a controlled and secure way.
Here are the main functions of Linux:
1. Process Management
Linux is responsible for creating, scheduling, and terminating processes. A process is simply a program in execution, and Linux ensures that each process gets the resources it needs without interfering with others.
Key process management functions:
Allocating CPU time
Managing process priorities
Handling multi-threaded operations
Supporting background and foreground processes
2. Memory Management
Linux manages RAM (Random Access Memory) efficiently so that applications have enough memory to run without crashing the system.
Functions include:
Allocating memory dynamically to processes
Ensuring memory isolation between processes
Using virtual memory (swap) when physical memory is low
Caching frequently accessed data for performance
3. File System Management
Linux organizes data in a hierarchical file structure. It supports many file systems like ext4, XFS, Btrfs, FAT32, and NTFS.
Functions include:
Creating, reading, writing, and deleting files
Organizing files into directories
Managing permissions and ownership
Mounting and unmounting storage devices
4. Device Management
Linux handles input/output operations by interacting with hardware devices like keyboards, mice, printers, USB drives, and GPUs.
Linux uses device drivers to facilitate communication between software and hardware. Each device is represented as a file in the /dev directory, which allows user-space programs to interact with hardware easily.
5. User Management and Security
Linux is a multiuser operating system, which means it can manage different users with varying levels of access and privileges.
Functions include:
Managing user accounts and groups
Enforcing access permissions (read, write, execute)
Running programs with least privilege
Implementing firewalls and security tools
Logging user activity for audit purposes
6. Networking
Linux provides powerful networking capabilities, making it the OS of choice for servers and routers.
Functions include:
Assigning IP addresses and routing packets
Managing wireless and wired connections
Running servers (e.g., web, DNS, FTP, mail)
Firewall configuration with tools like iptables or firewalld
Components of a Linux Operating System
A Linux OS typically consists of several key components:
1. Kernel
The Linux kernel is the heart of the operating system. It handles communication between hardware and software and manages system resources like CPU, memory, and devices.
2. System Libraries
These are essential programs and tools that applications use to interact with the kernel.
3. Shell
The Linux shell is a command-line interface that allows users to execute commands. Popular shells include Bash, Zsh, and Fish.
4. File System
Linux uses a tree-like file system with a single root (/). All files and directories branch from this root.
5. Graphical User Interface (GUI)
While Linux can run entirely via command-line, many distros offer a GUI using desktop environments like GNOME, KDE, Xfce, or LXQt.
6. Utilities and Applications
Distributions come with basic applications like text editors, package managers, terminal emulators, and system tools.
Popular Uses of Linux Today
Linux isn’t just for tech hobbyists. It powers much of the modern digital world.
1. Servers
Linux dominates the server market. Web servers, database servers, file servers, and mail servers often run on Linux due to its stability, security, and low resource usage.
2. Android Devices
Android is built on the Linux kernel. If you own a smartphone or tablet, chances are it’s powered by Linux at its core.
3. Supercomputers
As of 2025, 100% of the world’s top 500 supercomputers run Linux.
4. IoT and Embedded Systems
Smart TVs, routers, drones, and even refrigerators often use Linux-based systems.
5. Desktops and Laptops
Linux distributions like Ubuntu, Linux Mint, and Fedora are popular for personal computing, especially among developers and privacy-conscious users.
6. Programming and Development
Linux offers powerful development tools and supports languages like Python, C, Java, Go, and Rust out of the box.
Advantages of Linux
Free and open-source
Secure and less prone to malware
Stable and reliable
Highly customizable
Large community support
Efficient on older hardware
Conclusion
Linux is a versatile, powerful, and secure operating system that plays a central role in modern computing. From powering the servers that run the internet to serving as the core of Android smartphones, Linux is everywhere—even if you don’t see it.
Its primary functions—process management, memory allocation, file system operations, device handling, and networking—make it a complete and efficient platform for a wide range of uses.
Whether you're a student, developer, business owner, or just someone with an old laptop to revive, Linux offers a free, fast, and customizable alternative to proprietary systems. Its open-source nature ensures transparency, community support, and constant evolution.
1 note
·
View note
Text
On a semi related note the more I am subjected to Microsoft products the more I become convinced that the reason so many people these days believe themselves to be “bad with computers” is that the programs they are forced to use in their professional life are utterly incomprehensible to ANY rational human being and they are (rightfully enough) extrapolating out that this is just how computers are. They aren't!!! In their quest to remove all the “scary” details from their poor fragile end users Microsoft have created an ecosystem that behaves completely erratically and unpredictably and is by definition unknowable. Things just happen. Then they stop happening. Nothing ever announces why or how. Just a thousand vague and useless popups that may or may not be there tomorrow. I PROMISE computers are actually extremely simple and logical beasts.
#brain.txt#the biggest barrier to widespread linux adoption is the fear of learning something new and i get it i really do#when youre at zero knowledge and dont even know where to begin its completely overwhelming and so much easier to stick with what you know#but the problem is no one ever really knows windows#youre sharing your room with a wild animal#you believe you know its mannerisms well enough to know when it is hungry and what it likes and dislikes but one day it might lash out#and there will be no way of ever knowing why#with open source software the only barrier to knowledge is how far you want your own curiosity to carry you at present#and yeah! ill readily admit!! theres plenty of components of my system i dont know too much about right now#but i feel inherently less lost and helpless knowing that the information is out there and i am actually capable of reading it#instead of someone actively obfuscating all possible attempts at understanding and also constantly changing everything from under me#(i have never owned a mac in my life so idk whats going on over there but my general impression seems to be that mac at least gets the whole#walled garden thing right in the sense that it is a cohesive and functional experience despite being extremely locked in. which i have more#respect for as a solution i am not interested in but i can see the appeal of rather than the FUCKING DISASTER microsoft has unleashed)
59 notes
·
View notes
Text
i'm gonna throw up computers are so complicated bro
#ended up tag rambling dont open this unless u want to read me complaining👎#through a series of events parents got me a new laptop for christmas that i was not expecting#which is appreciated on some level. however. i have heard bad things abt windows 11 so im looking into linux#and its just. there is so much information and i am like a little baby who knows nothing about compsci#and it really doesnt help that i also have very specific hardware wants (2 in 1 laptop that turns into a tablet for drawing)#so everything is more complicated and it sounds like i'd have to download extra stuff for it to even function well#and all my files and games and stuff are currently on windows and i'd have to port it all over#and my main drawing software doesnt even have a linux version#so i'd have to like download a separate program or an emulator if i want even a chance to keep using it#and i do not handle change well and it is making me tired and stressed just thinking about all this#and to top it all off the laptop that they did get me sounds like it might not play the best with linux so i think im gonna exchange it#but that also means i have to figure out what laptop i want to even get before the return window ends on the 14th#and i am just. H#i just want to play my video games and draw.... man.....#moss.txt
3 notes
·
View notes
Text
God I hate how normalized not being in control of your own devices has become. My phone updates in the middle of the night without asking me shit or getting my consent for anything and its like "Oh hi I'm your new AI, please enjoy this forced overlay that you can't exit out of until you go through my tutorial"
"Great fuck you, I would like to uninstall you" "Oh I'm sorry you can't uninstall me! I'm a core system application and if you uninstall me your phone won't function correctly despite the fact that I did not exist yesterday and your phone worked fine" "....." "You can disable parts of my functionality but I will always be here and I will pop up notifications asking you to re-enable me unless you figure out how to disable those too! Then I will still show up in a different color at the top of your settings application telling you that you need to 'fix" a 'problem' with your phone, that problem being that I am disabled. Does that help?"
Like, you know what I can do on my desktop? "sudo pacman -Rdd linux" , this will just fucking remove the entire linux kernel. Fundamentally breaking my computer until I boot up a live disk and chroot in and reinstall it or whatever, and the computer will go "Are you sure (y/n)" or whatever and i'm like "y" and it will just go "Ok you got it boss"
But its mine, I get to do what I want with it. I control the computer, the computer does not control me. I refuse to cede control to my phone or anything else. The thing is a lot of people will joke that like "Oh I love just letting the machine tell me what to do, I don't know what I'm doing, it knows best" or whatever but the thing you have to realize is that when you say that you are abstracting away that "the phone" or whatever is not some value neutral logic driven robot like from sci-fi, it is a collection of the the capitalistic and fascistic desires of the tech oligarch fuckwits that are burning the world to the ground right now. You aren't submitting to the phone, you are submitting to Musk, Bezos, Nadella, Pichai, Cook and all those other evil bastards.
Fuck them, fuck their little AI toys, and fuck this.
5K notes
·
View notes
Text
I talked about the problem of Windows system requirements being too damn high before, and how the windows 10 to 11 jump is especially bad. Like the end of Windows 10 is coming october 2025, and it will be a massive problem. And this article gives us some concrete numbers for how many computers that can't update from win10 to 11.
And it's 240 million. damn. “If these were all folded laptops, stacked one on top of another, they would make a pile 600 km taller than the moon.” the tech analysis company quoted in the article explains.
So many functioning computers that will be wasted. And it's all because people don't wanna switch to a Linux distro with sane system requirements and instead buy a new computer.
Like if you own one of these 240 million windows 10 computers, Just be an environmentally responsible non-wasteful person and switch that computer to Linux instead of just scrapping it because Microsoft says it's not good enough.
Edit: as have been pointed out multiple times in the replies. It's really not "all because people don't wanna switch to a linux distro." It's really Microsoft's fault for this form of planned obsolescence.
My original post was lacking in perspective at best. And of course, people who use computers for work are often made reliant on Windows by their job and employers and can't switch. Or lack time, resources, and information to make the switch. Which is also due to systemic issues, such as lack of education, and the culture of obfuscation about tech that tech companies create.
Edit 2: Making this unrebloggable: now I really know what reddit mods mean when they say "the discussion has run its course" Like there is absolutely no conversation anymore, just repeating of points already made and responded to, just endless repetition
To quote @mlembug
Source
If you can spend 5-10 minutes writing a reblog clowning on somebody, but you can't:
spend 10s to do a basic courtesy of checking the appropriate pronoun of the person involved
spend 30s checking the reblogs of a post to see if someone also decided to clown on the same person
spend 10s to click on OP's post to see if it was edited in the meantime (and guess what: the edits in OP's post does indeed blame Microsoft for planned obsolescence, which you decided to blame her for not doing in one of your reblogs)
THEN YOU SHOULD NOT BE MAKING A REBLOG. EVER.
8K notes
·
View notes
Text
!Important Warning!
These Days some Mods containing Malware have been uploaded on various Sites.
The Sims After Dark Discord Server has posted the following Info regarding the Issue:
+++
Malware Update: What We Know Now To recap, here are the mods we know for sure were affected by the recent malware outbreak: "Cult Mod v2" uploaded to ModTheSims by PimpMySims (impostor account) "Social Events - Unlimited Time" uploaded to CurseForge by MySims4 (single-use account) "Weather and Forecast Cheat Menu" uploaded to The Sims Resource by MSQSIMS (hacked, real account) "Seasons Cheats Menu" uploaded to The Sims Resource by MSQSIMS (hacked, real account)
Due to this malware using an exe file, we believe that anyone using a Mac or Linux device is completely unaffected by this.
If the exe file was downloaded and executed on your Windows device, it has likely stolen a vast amount of your data and saved passwords from your operating system, your internet browser (Chrome, Edge, Opera, Firefox, and more all affected), Discord, Steam, Telegram, and certain crypto wallets. Thank you to anadius for decompiling the exe.
To quickly check if you have been compromised, press Windows + R on your keyboard to open the Run window. Enter %AppData%/Microsoft/Internet Explorer/UserData in the prompt and hit OK. This will open up the folder the malware was using. If there is a file in this folder called Updater.exe, you have unfortunately fallen victim to the malware. We are unware at this time if the malware has any function which would delete the file at a later time to cover its tracks.
To quickly remove the malware from your computer, Overwolf has put together a cleaner program to deal with it. This program should work even if you downloaded the malware outside of CurseForge. Download SimsVirusCleaner.exe from their github page linked here and run it. Once it has finished, it will give you an output about whether any files have been removed.
+++
For more Information please check the Sims After Dark Server News Channel! Or here https://scarletsrealm.com/malware-mod-information/
TwistedMexi made a Mod to help detect & block such Mods in the Future: https://www.patreon.com/posts/98126153
CurseForge took actions and added mechanics to prevent such Files to be uploaded, so downloading there should be safe.
In general be careful, where and what you download, and do not download my Mods at any other Places than my own Sites and my CurseForge Page.
2K notes
·
View notes
Note
Thoughts on Linux (the OS)
Misconception!
I don't want to be obnoxiously pedantic, but Linux is not an OS. It is a kernel, which is just part of an OS. (Like how Windows contains a lot more than just KERNEL32.DLL). A very, very important piece, which directly shapes the ways that all the other programs will talk to each other. Think of it like a LEGO baseplate.
Everything else is built on top of the kernel. But, a baseplate does not a city make. We need buildings! A full operating system is a combination of a kernel and kernel-level (get to talk to hardware directly) utilities for talking to hardware (drivers), and userspace (get to talk to hardware ONLY through the kernel) utilities ranging in abstraction level from stuff like window management and sound servers and system bootstrapping to app launchers and file explorers and office suites. Every "Linux OS" is a combination of that LEGO baseplate with some permutation of low and high-level userspace utilities.
Now, a lot of Linux-based OSes do end up feeling (and being) very similar to each other. Sometimes because they're directly copying each other's homework (AKA forking, it's okay in the open source world as long as you follow the terms of the licenses!) but more generally it's because there just aren't very many options for a lot of those utilities.
Want your OS to be more than just a text prompt? Your pick is between X.org (old and busted but...well, not reliable, but a very well-known devil) and Wayland (new hotness, trying its damn hardest to subsume X and not completely succeeding). Want a graphics toolkit? GTK or Qt. Want to be able to start the OS? systemd or runit. (Or maybe SysVinit if you're a real caveman true believer.) Want sound? ALSA is a given, but on top of that your options are PulseAudio, PipeWire, and JACK. Want an office suite? Libreoffice is really the only name in the game at present. Want terminal utilities? Well, they're all gonna have to conform to the POSIX spec in some capacity. GNU coreutils, busybox, toybox, all more or less the same programs from a user perspective.
Only a few ever get away from the homogeneity, like Android. But I know that you're not asking about Android. When people say "Linux OS" they're talking about the homogeneity. The OSes that use terminals. The ones that range in looks from MacOS knockoff to Windows knockoff to 'impractical spaceship console'. What do I think about them?
I like them! I have my strongly-felt political and personal opinions about which building blocks are better than others (generally I fall into the 'functionality over ideology' camp; Nvidia proprietary over Nouveau, X11 over Wayland, Systemd over runit, etc.) but I like the experience most Linux OSes will give me.
I like my system to be a little bit of a hobby, so when I finally ditched Windows for the last time I picked Arch Linux. Wouldn't recommend it to anyone who doesn't want to treat their OS as a hobby, though. There are better and easier options for 'normal users'.
I like the terminal very much. I understand it's intimidating for new users, but it really is an incredible tool for doing stuff once you're in the mindset. GUIs are great when you're inexperienced, but sometimes you just wanna tell the computer what you want with your words, right? So many Linux programs will let you talk to them in the terminal, or are terminal-only. It's very flexible.
I also really, really love the near-universal concept of a 'package manager' -- a program which automatically installs other programs for you. Coming from Windows it can feel kinda restrictive that you have to go through this singular port of entry to install anything, instead of just looking up the program and running an .msi file, but I promise that if you get used to it it's very hard to go back. Want to install discord? yay -S discord. Want to install firefox? yay -S firefox. Minecraft? yay -S minecraft-launcher. etc. etc. No more fucking around in the Add/Remove Programs menu, it's all in one place! Only very rarely will you want to install something that isn't in the package manager's repositories, and when you do you're probably already doing something that requires technical know-how.
Not a big fan of the filesystem structure. It's got a lot of history. 1970s mainframe computer operation procedure history. Not relevant to desktop users, or even modern mainframe users. The folks over at freedesktop.org have tried their best to get at least the user's home directory cleaned up but...well, there's a lot of historical inertia at play. It's not a popular movement right now but I've been very interested in watching some people try to crack that nut.
Aaaaaand I think those are all the opinions I can share without losing everyone in the weeds. Hope it was worth reading!
223 notes
·
View notes
Text
So I've recently been finally getting around to something I've wanted to do for a few years: switching to Linux.
To safely test out this process before applying it to my main tower machine, I decided to first do the switch over on an old Mac Mini which had a lot to gain from this as it was stuck on an outdated and unsupported version of MacOS.
But of course this all involved shuffling around a lot of old data and making sure everything was backed up. And here's where the story begins.
I backed up the Mini's MacOS install to its own partition on an external backup drive shared by my Windows tower machine. Once done, I shrank it to only the used size( which was complicated in its own right for reasons I'll explain shortly,) and then wanted to move it to the end of the drive so I could expand the Windows partition back out to fill the unused space.
Problem #1: MacOS's Disk Utility is so stripped down and lacking in functionality in the name of gloss, it literally cannot work with unallocated space on a drive in any way. You cannot see unallocated space, and you cannot create it. Want to shrink or delete a partition? It automatically creates a new one to fill the space whether you wanted it or not. Want to make a new partition in unallocated space without wiping the whole drive? Gotta use a different OS to make a dummy partition first and then replace it in Disk Utility. And the real problem… Want to move a partition? Can't.
Problem #2: Windows's Disk Management doesn't know what HFS+ is and refuses to work with it. Windows can't even read the Mac backup partition, let alone move it. But wait! I can use EaseUS Partition Manager! …Aaand most of its essential functionality is locked behind one of its multiple paywall tiers, including the ability to work with non-Windows filesystems at all.
But what about that new Linux install on the Mini?
I run 'sudo apt-get install gparted', a FOSS program, and in less than a minute I've already got it moving the partition. No hassle. No BS.
And if this whole thing doesn't just sum up the operating system trio, I don't know what does.
72 notes
·
View notes
Text
boooo ive spent like 3 hours trying to install the drivers for the gd usb wifi adapter :/ it installed just fine on this desktop when it was on windows so it cant be a hardware problem i dont think...and the disk HAS a linux version for installation included!! I literally havent had to go to a tech forum and type a question in So Long. this is So Embarrassing. but we will figure it out 😔
so my sister received a MASSIVE ancient desktop computer from our grandfather and she doesnt want it (tiny apartment. big Old Computer. already has laptop/tablets etc) so she gave it to me. and i had the idea that id install games and blender on it (like, heavier programs) and use my laptop for more work related things and keep it lighter (if i can snag a remote job yk...)
but this Big Old Desktop computer. its on windows 7 which. is NOT compatible with the newest version of blender :( (and all the tutorials i need to follow do use the newest versions...) and like. windows 10/11 would cost money to get a product key for (or more time trying to pirate it than I want to spend honestly) ...and since I already have a working laptop I figure its fine if I use the desktop one to fuck around right? nbd if I do smth wrong bc I can fall back on my laptop or do a system wipe on the desktop. so. going to try LINUX for the first time instead of a windows system :3 very excited bc ive wanted to try it forever. penguine time
#I CANT EVEN PLAY WITH IT UNTIL I GET THE INTERNET SET UP. AUGH!!#i want to play with it. it looks so cool. but the Stupid Drivers *shakes fist*#cool things abt linux so far tho: firefox default browser#cute colors/customizations#cuter cursor/icons#easier way to install programs (THE DRIVER IS THE EXCEPTION AND THE DEVIL)#like it literally had blender as a suggested program. it was Within My Reach. but no internets...to install it...#SAD.#i hope some techheads are nice to me on the forum i am an extreme noob#i dont kno what im doing wrong T_T i dont know the programming language at all#so i dont know if its a fault with me or the dang .sh file.#going to bet im doin smth wrong or skipping a step somewhere. probably#sanchoyorambles#i need a techie bestie to hold my hand. all i can do is html css and a little javascript. just stuff to make webbedsites LOOK cute.#this..functioning codes and terminals...are Frightening Me i wont lie#MY ANXIETY SPIKES SO BAD WITH FORUMS. like what if its smth so DUMB they chase me around with clubs.
5 notes
·
View notes
Text
As I've mentioned before, the ultimate goal for my 68030 homebrew systems is to run a proper multi-user operating system. Some flavor of System V or BSD or Linux. I am not there yet. There is still so much I need to learn about programming in general and the intricacies of bringing up one of those systems, plus my hardware does not yet have the ability to support multiple users.
I've toyed with several ideas as to how to get the hardware to support multiple users, but ultimately decided to leverage what I have already. I have a fully-functional modular card-based system. I can easily build new cards to add the functionally I need. And to make development and debugging easier, I can make each card simple, dedicated to a single function.
The catch is I've already run into some stability issues putting everything on the main CPU bus. So what I really need is some kind of buffered peripheral bus I can use for developing the new I/O cards I'll need.

So that's where I started — a new 8-bit I/O bus card that properly buffers the data and address signals, breaks out some handy I/O select signals, and generates the appropriate bus cycle acknowledge signal with selectable wait states.
It wasn't without its problems of course. I made a few mistakes with the wait state generator and had to bodge a few signals.
With my new expansion bus apparently working I could set out on what I had really come here for — a quad serial port card.

I have it in my head that I would really like to run up to eight user terminals on this system. Two of these cards would get me to that point, but four is a good place to start.
I forgot to include the necessary UART clock in the schematic before laying out the board, so I had to deadbug one. I'm on a roll already with this project, I can tell.

So I get it all wired up, I fire up BASIC, attach a terminal to the first serial port, and get to testing.
Nothing comes across.
Step-by-step with the oscilloscope and logic analyzer, I verify my I/O select from the expansion bus card is working, the I/O block select on the UART card is working, the individual UART selects are working. I can even see the transmitted serial data coming out of the UART chip and through the RS-232 level shifter.
But nothing is showing up in the terminal.
I've got the terminal set for 9600bps, I've got my UART configured for 9600bps, but nothing comes across.
I did note something strange on the oscilloscope though. I could fairly easily lock onto the signal coming out of my new serial card, but the received data from the terminal wasn't showing up right. The received data just seemed so much faster than it should be.
Or maybe my card was slower than it should be.
Looking at the time division markings on the oscilloscope, it looked like each bit transmitted was around ... 1.25ms. Huh. 9600bps should be more like 0.1ms. This looks something more like 800bps.
I set the terminal for 800bps and got something, but it wasn't anything coherent, it was just garbage. I wrote a quick BASIC program to sweep through the UART baud rate generator's clock divider setting and output a string of number 5 for each setting until I got a string of 5s displaying on the terminal.
So then I tried sending "HELLORLD".
I got back "IEMMOSME".
No matter what I changed, I couldn't get anything more coherent than that. It was at least the right number of characters, and some of them were even right. It's just that some of them were ... off ... by one.
A quick review of the ASCII chart confirmed the problem.
'H' is hex 0x48, but 'I' is 0x49. 'E' is 0x45, but was coming across correctly.
... I have a stuck bit.
The lowest-order bit on my expansion bus is stuck high. That's why I wasn't seeing any coherent data on the terminal, and it also explains why I had to go hunting for a non-standard baud rate. The baud rate generator uses a 16-bit divisor to divide the input clock to the baud rate. When I tried to set the divisor to 0x0018 for 9600bps, it was getting set to 0x0118 — a difference of 256.
Another quick BASIC program to output the ASCII chart confirmed this was indeed the problem.
Each printed character was doubled, and every other one was missing.
That sounds like it could be a solder bridge. The UART chip has its D0 pin right beside a power input pin. A quick probe with the multimeter ruled that out.
Perhaps the oscilloscope would provide some insight.

The oscilloscope just raised more questions.
Not just D0, but actually several data bus pins would immediately shoot up to +5V as soon as the expansion bus card was selected. As far as the scope was concerned, it was an immediate transition from low to high (it looked no different even at the smallest timescale my scope can handle). If the UART was latching its input data within the first third of that waveform then it certainly could have seen a logic 1, but it doesn't make sense why only the one data pin would be reading high.
I thought maybe it could just be a bad bus transceiver. The 74HCT245 I had installed was old and a little slow for the job anyway, so I swapped it out for a newer & much faster 74ACT245.
And nothing changed.
It's possible the problem could be related to the expansion bus being left floating between accesses. I tacked on a resistor network to pull the bus down to ground when not active.

And nothing changed.
Well ... almost nothing.
This was right about the time that I noticed that while I was still getting the odd waveform on the scope, the output from the terminal was correct. It was no longer acting like I had a stuck bit and I was getting every letter.
Until I removed the scope probe.
Too much stray capacitance, maybe? That waveform does certainly look like a capacitor discharge curve.
I had used a ribbon cable I had laying around to for my expansion bus. It was long enough to support a few cards, but certainly not excessively so (not for these speeds at least). It was worth trying though. I swapped out the ribbon cable for one that was just barely long enough to connect the two cars.
And finally it worked.
Not only was I able to print the entire ASCII set, I could program the baud rate generator to any value I wanted and it worked as expected.
That was a weird one, and I'm still not sure what exactly happened. But I'm glad to have it working now. With my hardware confirmed working I can focus on software for it.
I've started writing a crude multi-user operating system of sorts. It's just enough to support cooperative multitasking for multiple terminals running BASIC simultaneously. It may not be System V or BSD or Linux, but I still think it would be pretty darn cool to have a line of terminals all wired up to this one machine, each running their own instance of BASIC.

22 notes
·
View notes
Text
So if you want to know how "functional" Windows 11 is, I just got a new laptop, and while I was tearing its guts out to make Windows 11 less obtrusive and ad-ridden, I discovered a problem.
Modern versions of Windows have a built-in system for transferring files to other Windows computers on the same network -- you mark certain folders as "shared", and then you can just open them on another computer from the "Network" window after entering a password.
Well, I could connect from my desktop to my laptop just fine; however, I had a devil of a time connecting from my laptop to my desktop. Didn't matter what username or password I used; just "your credentials are incorrect."
Then something occurred to me.
See, I'd wanted a specific home directory name. This entailed 1. logging into my Microsoft account the first time I started my laptop, thus creating an account on the laptop with an automatically-selected name; 2. creating a second administrator account with the username/home-directory-name I wanted, without an associated Microsoft account; 3. deleting the first account, 4. connecting the second account with my Microsoft account. I did this on my laptop, and I'd done this on the desktop.
Thing is, in step 2 there, I'd given the second account the same password as my Microsoft account, because I knew I was just going to overwrite it. See where this is going? The correct password was not the password for my Microsoft account, but rather, the password which I'd used to create the Windows account without the Microsoft account. And I've changed my Microsoft password multiple times since getting the current desktop computer.
Solution:
Remove the Microsoft account from my desktop. This entails setting a new password.
Have the laptop connect to the desktop with that new password.
Add the Microsoft account back to the desktop.
Anyway this might be the straw that makes the camel start looking into Linux.
7 notes
·
View notes
Text
So I have a Linux problem, and I'm just gonna post it here. I dunno if I have the reach for this, but if you know a potential fix, I will gladly accept it:
Basically, I run Zorin OS 17.2 Core on my Mid-2017 MacBook Pro (Two Thunderbolt Ports). This computer has been hell to make work, but after years of fiddling and finding drivers and terminal commands, it works almost like OEM.
My last problem with this machine, and the only thing that does not function like it's OEM, is the Sleep/Wake function. This is a known issue with 2016 and newer MacBooks on Linux; However, there are workarounds.
Namely, I found a kernel parameter that prevents Deep sleep and only allows the computer to go into s2idle when the lid is shut. This isn't great because it means the dies quickly and gets hot when the lid is shut, but I can't really do anything about it. This did, however, fix an issue I was having where the audio would just stop working if I ever shut the lid.
The final issue was getting the computer to wake up on its own. Every time I start the computer up (not waking it up; only powering it up from a complete shutdown) I have go into terminal and run this:
sudo bash -c 'echo "0" > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allowed'
I don't know what this command does, but without it, the machine will just never wake up. If you close the lid without running this at initial startup, it cannot be woken back up until it is rebooted.
That's not really a problem, since it's only once per reboot, and I don't reboot my laptop very frequently.
You know what would really make this even more seamless, though? If I could run this command using Ubuntu's startup applications menu. That way, I wouldn't have to manually open terminal every boot just to run this command. It would just run automatically, and I'd never have to worry about it. It would work like OEM! (Minus the less efficient sleep state.)
However, I can't do that. I've tried that. In fact, I have that exact command in my Startup Applications app, as we speak.
Any time I start the computer up and DON'T manually run the command, if I shut the lid, the computer sleeps. It will, however, wakeup (unlike if the command had never been input). HOWEVER. Unlike running the command in terminal, when it finally wakes up, the cursor photo changes into a gray square, my Night Light settings are reset, my wallpaper changes to black, my system accent color is changed to default, and any time I click inside the password box to login, the field immediately becomes inactive again. It doesn't stay active long enough for me to even get two letters typed. All this happens while "Authentication Error" rapidly and randomly flashes below the password box.
Eventually, if I don't force shut down the machine, it'll crash. It'll throw me into terminal mode, and it'll infinitely repeat an error claiming it could not write to some 'systemd jounral' thing because the operating system is in read-only mode. After that it'll either repeat that error over and over, creating endless lines in terminal mode, or it'll just freeze, and I have to restart the laptop either way. So, my question is:
WHY.
Why does running this command in terminal and running it via Startup Application have different results, and is there any way to fix it??
#rambles#linux#linuxposting#help#linux help#zorin#zorin os#ubuntu#ubuntu 24.04#zorin os 17.2#mac#macbook#macbook pro
17 notes
·
View notes
Text
I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!
12 notes
·
View notes
Text
I got a Steam Deck last year, and it’s such a great machine. It’s obviously inspired by Nintendo Switch, but it’s a lot better than a Switch.
The most important part is that it runs PC games. It’s fundamentally a Linux gaming PC in the form of a handheld console. There are a lot more games available than any console and and PC games both on Steam and GOG are a lot cheaper than console ones. You can get old or indie games for as cheap as 1-3 euro during sales. It’s a tremendous advantage for the deck over its console competitors.
And while the obvious intent of the deck is to get more people to buy games from Steam, it isn’t a walled garden at all. The deck launches into Steam when you boot it up, but you can go into desktop mode, and then it functions as a normal PC running a Linux distro. From there you can install Lutris or Heroic Games Launcher, and use it to easily install games you bought from GOG and Itch.io.
You can also do things like use the official dock or an unofficial usb-c hub to hook the deck up to a monitor, mouse and keyboard to use it as a desktop PC. Or you can hook it up to a tv to use it as home console.
The hardware is also a lot more powerful than a switch, the demanding triple-a games it can play is actually impressive. Although this comes with the natural disadvantage that it’s bulkier too. Putting more powerful PC parts demands more space for them. The deck is not something I bring with me outside. But then again I didn’t even do that with the 3DS, which was actually of a practical size to do that. The deck is portable enough that I can comfortably play lying in bed, which is how I always used my handheld consoles. So it’s perfect for me, but maybe not if you want to play it on the bus or something. It can probably be a fun addition to your luggage on longer trips though.
Of course, as mentioned, the Steam Deck uses Linux. This has both advantages and disadvantages. The main advantage is that it allows Valve to customize the operating system to make it fit with the machine it’s running on. The Deck’s SteamOS feels really well-integrated into the hardware, like how a proper console OS should be like. It’s not that dissimilar to how Sony used FreeBSD to make Playstation’s OS. Windows would not allow for this amount of customization and would not integrate as well.
And the open source nature of most Linux development allows Valve and the user to use existing open-source Linux software to their advantage. For example, the desktop mode is largely not a Valve creation, it’s an existing desktop environment for Linux, KDE Plasma. Yet it extends what the user can do with the deck to a great extent, like for installing non-steam games.
The main disadvantage to the Deck using Linux is that most PC games are built for Windows and don’t run natively under Linux. To run games built for Windows, the Deck has to run it through Proton, a compatibility layer which is Valve’s own gaming-focused version of Wine. Wine/Proton is far from perfect, sometimes games require extensive tinkering to work, or only run with serious issues, or don’t run at all, no matter what you do. Sometimes a game not working with Wine due to some random but serious issue that comes naturally from running a Windows executable on a Linux system via a compatibility layer. Sometimes it’s due to things like a multiplayer’s game anti-cheat system requiring access to the Windows kernel, and it will block a Linux pc from running the game because it has no Windows kernel.
This is however not as big a problem as it might otherwise be. Most games work, more or less. Valve has put a lot of work and money into both their own Proton and the Wine project as a whole, and they work a lot better than they did 10 years ago. Many run perfectly out of the box, because they are native, or play nice with Proton. Some require mere minor tinkering, like using a different version of Proton. And I generally don’t play multiplayer games, or if I do they don’t have draconian anti-cheats, so the games that are blocked because of anti-cheat are no big loss to me. The Steam Deck not running Fortnite is a plus in my book.
And we shouldn’t forget the Steam Deck verified system. Basically Valve employees check if the game runs out of the box with no issues on the Deck. They get a verified rating if they work with no issue, including both proton compatibility but also things like the controls working nice and the text being legible on the deck’s small screen. They also get a “playable” rating if the game runs to an acceptable standard but with tinkering required or other minor issues.
This is a good system. If you dislike tinkering, you can just buy and play games on steam with a verified rating, and the deck will work like a normal console for you, but with a lot cheaper games. It’s a good way to get people used to consoles into PC gaming, which is probably the point of the Deck.
And if you want more than deck verified games from Steam on the Deck, you are given the freedom to do it. I’ve gotten officially non-supported steam games to run on the deck by installing and using proton-GE and I’ve installed and played games from GOG.
The Steam Deck is really how a Linux PC for the common people should work. An easy and slick experience for casual users, but freedom and customization given to those that want it.
82 notes
·
View notes
Text
UNIX vs Linux
While studying my first lecture of the Linux course, I noticed that the lecture notes always referred to Linux (UNIX). This made me confused about whether Linux and UNIX are the same thing. After conducting some research, here's what I found:
UNIX was created before Linux. UNIX is an operating system that was developed in the 1960s and 1970s at Bell Labs. It was designed to be a portable, multi-user, and multitasking operating system. UNIX became widely adopted and influenced the development of many other operating systems, including Linux.
On the other hand, Linux was created in 1991 by Linus Torvalds as a free and open-source operating system. Linus Torvalds developed the Linux kernel, which is the core component of the operating system. Linux was inspired by UNIX and aimed to provide similar functionality and design principles while being accessible to a broader audience.
There are some key differences between the two:
Licensing: UNIX is a proprietary operating system, and its source code is not freely available. In contrast, Linux is open-source, which means its source code is available for anyone.
Kernel Design: The kernel design of UNIX and Linux differs. UNIX typically uses a monolithic kernel. Linux, on the other hand, uses a modular monolithic kernel.(I'll explain this in another post)
Command Line Interface: While both UNIX and Linux provide a command line interface, UNIX systems often have their own set of commands and tools, while Linux distributions commonly include the GNU utilities, which provide a comprehensive set of command-line tools.
Availability and Community Support: UNIX is typically associated with commercial offerings from companies . In contrast, Linux has a wide range of distributions that are freely available and supported by vibrant communities.
youtube
#linux#arch linux#ubuntu#debian#code#codeblr#css#html#javascript#java development company#python#studyblr#progblr#programming#comp sci#web design#web developers#web development#website design#webdev#website#tech#html css#learn to code#Youtube
115 notes
·
View notes
Text
Colon three is played out. We need to start innovating our emoticons again. Here are some suggestions:
:}
:>
:J
:$
:h
:Γ
:🙠
:尿
:😃
::
:I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!
:-)
15 notes
·
View notes