מי שעוסק בקידום אתרים צריך לפעמים להבין איך להגדיר בכלל את המושג "מחשב".
קיימות בגדול שתי הגדרות מרכזיות למונח, הגדרה לוגית פורמלית והגדרת המובן הנפוץ.
מחשב במובן לוגי פורמלי
מחשב במובן לוגי פורמלי הוא מכונה המקיימת את ההגדרה "מכונת טיורינג".
מכונת טיורינג היא מודל מתמטי שמתאר את דרך עבודתו הכללית של כל מחשב.
מודל מתמטי הוא תיאור מערכת דרך לוגיקה פורמלית בכלל ועם כתיב מתמטי בפרט.
הגדרה פורמלית של מכונת טיורינג דורשת זיכרון אינסופי, דרישה ששום מערכת מחשב שיצר האדם לא מקיימת.
זיכרון מידע במערכות מחשב כאלה הוא תמיד מוגבל לנפח\ים מסוימ\ים בהתאם לחומרה, אך בדרך כלל מקובל להתייחס גם למכונות מחשב עם זיכרון סופי (כלומר, מוגבל) כמיישמות מכונת טיורינג מהיותן עובדות באותו האופן רק באופן מוגבל, קרי עם זיכרון סופי, תוך הבנה כי מימוש מלא של מכונת טיורינג אינו מושלם בגלל מגבלות המציאות הפיזיקלית בה אנו חיים; על כן, אין ציפיה שמכונת טיורינג עם זיכרון אינסופי תתקיים אי פעם.
מודל מתמטי המשמש להגדיר את אופן פעילותה של כל מערכת מחשב שיצר האדם בצורה פרקטית מאד ומוגבלת מאד הינו מודל RAM.
שלמות טיורינג
שלמות טיורינג אני מגדיר כמאפיין אפשרי של שפות מחשב (כגון שפות מכונה או שפות התנהגות);
שפות מחשב בעלות מאפיין זה (קרי "מושלמות טיורינג") יכולות, לפחות לפי עיקרון תאורטי, לממש מכונת טיורינג.
מה שנדרש ממחשב בכדי ליישם לפחות חלקית, שלמות טיורינג, זה:
- יכולת ללכת קדימה ואחורה ביחס לזיכרון מידע (תאורטית, באופן לא מוגבל; פרקטית, באופן מוגבל)
- קריאת מידע מזיכרון מידע במערכת מחשב או כתיבת מידע לזיכרון מידע במערכת מחשב (תאורטית, באופן לא מוגבל; פרקטית, באופן מוגבל)
ברמה התאורטית של מדעי מחשב, שלמות טיורינג איננה מוגבלת לכמות זיכרון מידע במערכת מחשב ולכן קשורה גם במחשב בלתי מוגבל ללא הגבלת זיכרון כזה וללא הגבלת יכולת ניעה בהקשר זיכרון כזה, אך בשל העובדה שמחשבים ביקומנו הם תמיד מוגבלים פיזיקלית במובנים אלה, הרעיון הוא תאורטי ויישומו חלקי.
מחשב במובן הנפוץ
מחשב במובן הנפוץ (מערכת מחשב) אני מגדיר כמכונה כימואלקטרית (מכונה המורכבת מחומר כימי ופועלת בעזרת חשמל) עימה ניתן לבצע חישובים מורכבים של קלט לקבלת פלט אשר יופיע על מסך או כפעולה של המכונה.
העברת זרם חשמלי לרכיבי החומרה של המחשב כמערכת בזרם חשמלי נאות תגרום להפעלת המחשב ולעיבוד מידע שהוכנס לחומרה שלו ברמת תוכנה קושחתית. דרך עיבוד מידע זה, עיבוד מידע של תוכנה על-קושחתית שלו כגון מערכת הפעלה (אם איננה חלק מתוכנה קושחתית עצמה) שמותקנת עליו ולאחר מכן אולי גם תוכנות בשכבה גבוהה יותר (כגון דפדפן ווב או משחק מחשב) דרכן ניתן להזין קלט ולקבל פלט מורכב עוד יותר מן המחשב למטרת עבודה, בידור וכדומה.
שלושה רכיבים מהווים מערכת מחשב במובן הנפוץ: חומרה, תוכנה קושחתית ותוכנה על קושחתית (אשר לרוב מתחלקת בעצמה למערכת הפעלה ותוכנות המבוססות עליה).
לעתים אין הבדל של ממש בין תוכנה קושחתית לבין מערכת הפעלה (מערכת ההפעלה היא תוכנה קושחתית בעצמה); אני דווקא בעד להפריד ביניהן כי אני חושב שבאופן כללי אין זה נכון לכפות על משתמש מערכת הפעלה מסוימת).
ניתן לתפעל מחשב דרך תוכנה קושחתית ומערכת הפעלה שהיא התוכנה העל-קושחתית הבסיסית ביותר; לכל מערכת הפעלה ממשק משתמש אחד לפחות.
מחשב כזה הוא למעשה מערכת משובצת מחשב או בקצרה מערכת מחשב (וכן גם מכונת מחשב) והיא כל מערכת חומרה ותוכנה הכוללת מחשב.
דוגמה אחת למערכת מחשב כזאת תהיה מחשב שולחן עבודה הכוללת מארז עם רכיבי מחשב, יחד עם מסך ואף יחד עם מקלדת מוחשית, עכבר מוחשי ורכיבי חומרה נוספים המתחברים אליו (ייתכן שהכל, למעט עכבר, בחבילה אחת ← לפטופ).
דוגמה נוספת למערכת מחשב כזאת תהיה רובוט אשר לו ראש מכני וגפיים מכניות ומשמש לאוטומציות שונות כגון ביצוע אוטומטי של עבודות חקלאות, שינוע, תיקונים, בנייה ועוד.
חומרה וקושחה
חומרת מחשב עשויה לכלול בתוכה תוכנה קושחתית עיקרית שהינה "צרובה" בה (כמו תוכנת BIOS) וכן תוכנה קושחתית משנית המבוססת על תוכנה זו (כמו מערכת הפעלה, אם וכאשר מערכת ההפעלה "צרובה" בחומרה, דבר שלדעתי הוא פסול מוסרית).
מחשב שרת
המונח מחשב שרת או רק שרת (באנגלית: Server computer או רק Server, בהקשר זה) משמש לתאר מערכת מחשב אשר על שכבת מערכת ההפעלה שלה מותקנים רק או בעיקר תוכנות שרת לצורך יצירת סביבת שרתים הממלאת תפקיד כל שהוא כגון אחסון אתרי ווב ללקוחות חברת אחסון או לצורך תחזוק מערכת מצלמות אבטחה ועוד.
מונחים נלווים
מחשוב
מחשוב הוא כל פעילות שמבצע מחשב.
תהליך מחשוב מוגדר כמורכב מתהליכי עיבוד קלט לכדי הפקת פלט (דרך מחשב) בעת הרצה.
במקרים רבים תהיה אפשרות להציג מידע על תהליכי מחשוב במערכת מחשב דרך מכשיר פלט (כגון מסך או חומרה מרחבית, כמו עם רובוט) ולנהל מידע של התהליכים השונים (שליטה על תהליכים).
המונח "מחשוב" מתאר לעתים גם את כלל תחומי הפרנסה בהם עובדים רוב הזמן עם מערכת מחשב כאשר הפעולות שמבצעים דורשות גם חישוב עצמי (כגון פיתוח תוכנה ללא שימוש באיטליגנציה מלאכותית).
מדעי המחשב
מדעי המחשב או לחלופין מדע המחשוב הוא תחום מדעי בו חוקרים איך מחשבים עובדים בכללותם (לא מערכות מחשב ספציפיות).
בספרות התחום מוגדר בהגדרה מדעית מהו מחשב, מוגדרים מודלים של מחשוב (תיאור כללי של איך עובד מחשב), מוגדרים מכונות חישוב (מכניות לא אלקטרוניות או אלקטרו-מכניות) וכן אלגוריתמים שונים לעיבוד מידע.
בתחום זה נחקר מושג המודולריות.
לימודי התחום מצריכים ידע מתמטי הנדרש לכלל המדעים האחרים.
מדעי המחשב לא מתמקדים בתוכנה (software) אלא בהבנת המערכות שמאפשרות את הרצתה אם כי הם מסבירים גם על מושג התוכנה ועל פיתוח תוכנה (בלי להתמקד בשפה ספציפית לפיתוח תוכנה) וכן מתארים שימוש בפסאודוקוד.