בעבר מקובל היה לחלק מחשבים לפי גודלם ולפי עוצמת העיבוד שלהם: מיקרו מחשבים, מיני־מחשבים, מחשבים מרכזיים ומחשבי־על. טשטוש הגבולות בין הקטגוריות, החלפת מיני מחשבים ברשתות של מחשבים אישיים, והיעלמותו של המסוף הביאו לירידה בחשיבות שיטת המיון הזו, עד להפיכתה ללא־רלוונטית באמצע שנות ה־90 של המאה ה־20.
כיום מקובל למיין מחשבים למחשבים אישיים – מחשבים המשמשים אדם בודד ולשרתים – מחשבים המשמשים יותר מאדם אחד; בין שתי הקטגוריות מצויות תחנות עבודה, אשר לרוב משמשות אדם אחד, אך לעיתים משמשות מספר אנשים.
מחשבים אישיים.
מחשבים אישיים משמשים לרוב משתמש יחיד. מחשבים אישיים קטנים הם טלפונים חכמים. עוצמת העיבוד והזיכרון איננה שונה בהרבה מאלה של מחשבים ניידים. מחשבים אלה נקראים "טלפונים" מסיבות היסטוריות, ומכיוון שחלק מהותי מהשימוש בהם הוא לצורכי תקשורת (שיחות טלפון, שליחת SMS, גלישה ברשת האינטרנט, שיחות צ'אט ושליטה אלחוטית ברכיבים אחרים).
מחשבים אישיים מעט גדולים יותר הם הטאבלטים, המשמשים בעיקר לצורכי גלישה באינטרנט ובידור.
המחשבים האישיים - לפטופים ומחשבים נייחים - הנפוצים בימינו הם בעיקר משני סוגים:
הן מחשבי PC והן מחשבי מקינטוש מיוצרים בשני גדלים: מחשבים ניידים (Notebook, Laptop), שבהם המחשב, המקלדת והצג ארוזים במארז קומפטי אחד, הנוח לניוד, ומחשבים נייחים (Desktop), המיועדים להצבה על שולחן העבודה (או לצדו).
לפטופים ומחשבים נייחים משמשים לעיתים קרובות יותר ממשתמש בודד, דבר המתבטא במערכות ההפעלה הנפוצות בהם, שכולן תומכות (כברירת מחדל) בריבוי משתמשים. זאת בניגוד למערכות ההפעלה הנפוצות בטלפונים חכמים.
תחנות עבודה.
תחנות העבודה ניצבות בין עולם המחשבים האישיים לבין עולם השרתים. לרוב הן משרתות משתמש יחיד, אך לעיתים הן משרתות מספר משתמשים בעת ובעונה אחת. הן חזקות ויקרות מן המחשבים האישיים, ומשמשות לרוב ביישומים מקצועיים שבהם יש צורך בעוצמת עיבוד רבה, כגון עיבודים גרפיים או תכנון וייצור בעזרת מחשב (CAD).
שרתים.
שרתים הם מחשבים המשמשים יותר ממשתמש אחד. הם עולים על המחשב האישי לפחות בהיבט אחד. כך, למשל, שרתי קבצים מכילים מערכת דיסקים אמינה, מהירה וגדולת־נפח במיוחד, ואילו שרתי יישומים מכילים מספר רב של מעבדים, התורמים ליכולת עיבוד גבוהה. נהוג למיין שרתים לשרתים קטנים, בינוניים (Mid-range) – אשר החליפו, למעשה, את המיני־מחשבים מן העבר, וגדולים.
המחשבים המרכזיים (Mainframe) הם תת־קבוצה של השרתים הגדולים. הם נבדלים מיתר השרתים הגדולים בהיבטים הבאים:
מחשבי העל הם תת־קבוצה של שרתים בינוניים ושרתים גדולים. הללו הם שרתים הבנויים במיוחד למשימה אחת – עוצמת חישוב גבוהה. כיום ישנה נטייה לבססם על רכיבי מדף, ולהחליף מעבדים ייעודיים ויקרים באוסף של מעבדים מסחריים זולים רבים (Intel Itanium 2, AMD Opteron) הפועלים במקביל.
התוכנה.
מטרת קיומו של המחשב היא הרצת תוכניות המחשב. התוכניות הן המורות למחשב אילו פעולות לבצע - כדי לגרום למחשב לבצע פעולה כלשהי יש לכתוב תוכנית מתאימה שתורה למחשב לבצע פעולה זו. ללא תוכניות, המחשב הוא קליפה ריקה.
תוכנה היא השם הכללי לכל תוכניות המחשב, בניגוד לחומרה שהיא מכלול רכיביו הפיזיים של המחשב. תוכנית מחשב היא רשימת פקודות שעל המחשב לבצע. גודל התוכנית יכול לנוע בין תוכנית המורכבת ממספר קטן של פקודות פשוטות לתוכנית המורכבת ממספר רב של פקודות מסובכות ואולי אף טבלאות של מידע. בתוכניות מחשב מורכבות יש מיליוני פקודות, רבות מהן מבוצעות מספר רב מאוד של פעמים במהלך ריצת התוכנית. לשם המחשה, מחשב אישי ממוצע שיוצר ב־2005 יכול להריץ כ־3 מיליארד פקודות בשנייה, וזמן ריצתה של תוכנית עלול לקחת בין מספר שניות למספר דקות ולעיתים אף יותר מכך. כלומר, הרצתה של תוכנית מסוימת כרוכה בביצוען של מיליארדי פקודות על ידי המחשב. זהו מקור כוחו הרב של המחשב: הוא אינו נובע מיכולתו של המחשב לבצע פקודות מסובכות, אלא דווקא מיכולתו לבצע ברצף מיליוני, ולעיתים אף מיליארדי, פקודות פשוטות. סידורן של פקודות פשוטות אלה לכדי תוכנית הוא אחריותם של אנשי מקצוע - המתכנתים.
מבנה התוכנה ושפות תכנות.
פקודות התוכנית, ההנחיות הניתנות למחשב, כתובות בשפת מכונה, שפה שאותה מבין המחשב, או ליתר דיוק, מעבד המחשב, ישירות וללא צורך בשום תרגום או שלב ביניים. שפת המכונה היא הרכיב המקשר בין עולם החומרה לעולם התוכנה. המעבד קורא את הפקודה ומבצע את הדרוש. בשל היות שפת המכונה לא ברורה ומסורבלת לקריאה מצדו של אדם, דורשת הכתיבה בה זמן רב והיא מועדת לשגיאות. לכן, בפועל, מתכנתים אינם כותבים בשפת מכונה פרט למקרים חריגים ביותר. כתחליף, נעשה שימוש בשפות תכנות, הללו מאפשרות למתכנת לתאר את הפעולות שברצונו להורות למחשב לבצע, בשפה קרובה יותר לשפה טבעית, שפת בני־אדם, ולאחר־מכן מתרגמות את שכתב לשפת מכונה, תוך שימוש במהדר או מפרש.
מידת קרבתן של שפות התכנות לשפת המכונה או לשפה טבעית, משתנה. ישנן שפות סף (Assembly) הקרובות מאוד לשפת מכונה, ומרבית פקודותיהן הן ייצוג באנגלית של הפקודות התואמות בשפת מכונה. מאידך, ישנן שפות עיליות, שהן שפות המבוססות על עקרונות מופשטים שאינם בהכרח חופפים לפעולות הבסיסיות שהמחשב מסוגל לבצע, שפת פרולוג היא דוגמה לשפה מסוג זה. מרבית שפות התכנות הן שפות עיליות, המסתמכות על פעולות המחשב הנפוצות הנכונות למרבית המחשבים, אך מקיימות הפשטה שלהן למושגים רחבים. לדוגמה, המונח המופשט "לולאה" המסתמך על היכולת המובנית ברוב מוחלט של המחשבים לקפוץ לקטעי קוד שונים בהתקיים תנאי מסוים. שפת C אינה שפת סף, אך רבים, כולל יוצריה, רואים בה "שפה נמוכה" ולא שפה עילית, היא נמצאת בתחום שבין שפת הסף לשפות העיליות.
מערכות הפעלה.
עם המעבר משימוש בלעדי במחשב למטרות קטנות ומוגדרות של מומחים בתחום, לשימוש בתעשייה ולאחר־מכן במגזר הפרטי, לשם מטרות שונות ומגוונות, עלו מספר צרכים חדשים. משהופקדו המחשבים על ביצוען של מטלות רבות ושונות, היה צורך בתוכנה שתתזמן ותריץ באופן ממוכן את התוכניות השונות. בנוסף, בעת שהמחשב הוצא מידי המומחים לידי ההמון, לא ניתן היה עוד לסמוך על מקצועיותו של מפעיל המחשב והתעורר צורך בתוכנה שתגן על המחשב ורכיביו מפני טעויות שעלול המשתמש לעשות. התשובה לבעיות אלה ואחרות הייתה מערכת ההפעלה.
ניתן לראות במערכת ההפעלה כתוכנה הראשית של המחשב. זוהי התוכנה שאותה רואים המשתמשים כאשר המחשב מופעל ורבים טועים לחשוב שהיא חלק מן המחשב עצמו. מערכת ההפעלה אחראית על תיאום בין המשתמש, התוכניות והחומרה.
תחילה היה השימוש במערכות ההפעלה בעיקר לצורך תזמון והרצה של מטלות ללא צורך בהתערבות אדם, אך עם עלייתו של רעיון המקביליות, שלפיו יכולות מספר תוכניות לרוץ בו־זמנית על גבי אותו המחשב, ואף מספר משתמשים יכולים להשתמש במקביל באותו המחשב, הפכה מערכת ההפעלה לגורם הכרחי ומשמעותי. תפקיד מערכת ההפעלה הוא לתאם בין התוכניות השונות והמשתמשים השונים, שאינם מודעים לעובדה שאינם היחידים הפועלים במחשב. מטרתה לדאוג שכל התוכניות יתבצעו באופן תקין ולא יפגמו האחת בשנייה. מערכת ההפעלה מאפשרת לכל תוכנית לפעול כאילו היא היחידה הרצה בזמן נתון, ודואגת שלא תיווצר התנגשות בין התוכניות השונות. תפקיד זה הוא משמעותי ביותר משום שהוא מאפשר למספר תוכנות לרוץ במקביל וחוסך זמן רב.
מערכת ההפעלה אחראית גם על התיאום בין תוכנה לחומרה. הדבר נותן לה להגן, מחד, על החומרה מפני שימוש לא נכון ומאפשר, מצד שני, יצירתו של ממשק תכנות יישומים אחיד שאינו דורש מכל תוכנית לדעת מהם פרטי המערכת. מספיק שמערכת ההפעלה תדע מהם ההתקנים המצויים במחשב וכל שאר התוכניות יכולות לבקש ממנה לבצע את הפעולות הנחוצות. משום שמערכת ההפעלה יועדה בדיוק למשימה זו, סביר להניח שהדרך שבה תבצע את אותן פעולות תהיה יעילה יותר. דוגמה להתקן שהגישה אליו עוברת דרך מערכת ההפעלה הוא הכונן הקשיח. מסיבה זו, יכולה מערכת ההפעלה לשמש גם כמנגנון הגנה שאינו מאפשר למשתמשים לבדוק קבצים שאינם מורשים לבדוק. כך מתאפשר שימוש באותו המחשב על ידי מספר משתמשים כשכל משתמש אינו מעוניין ששאר המשתמשים יוכלו לראות או לשנות את המידע שברשותו.
שימושים במחשב.
מחשבים הם חלק בלתי נפרד מהחיים המודרניים. עם הירידה במחירי המחשבים והקטנת גודלם, התפשט השימוש במחשבים לתחומים רבים, עד כי בחלקם כבר לא ניתן להסתדר בלעדיהם.
תחילה היה השימוש המרכזי במחשבים בחישובים מדעיים, לרוב לשם מטרות צבאיות. המחשב אניאק תוכנן במקור לחישוב טבלאות ירי־בליסטי עבור ארטילריה, אך השתמשו בו גם לחישוב צפיפויות לאורך חתך של נייטרונים כעזר בתכנון פצצת המימן, דבר שהאיץ בצורה משמעותית את פיתוחה (כיום גם נעשה שימוש רב במחשבי על למטרות הדמיה של נשק גרעיני). מחשבים רבים שימשו לפריצת צפנים, למשל המחשב האלקטרוני הניתן־לתכנות הראשון, קולוסוס, נבנה ב־1943, במהלך מלחמת העולם השנייה, בדיוק למטרה זו. תוך זמן קצר פרץ המחשב את תחום החישובים המדעיים והשימושים הצבאיים וחדר לתחומים אחרים.