2026/06 13

[운영체제] 01. 운영체제 개요와 역할

운영체제는 평소엔 존재감이 없다가, 막상 뭔가 느려지거나 멈추면 그제야 의식하게 되는 소프트웨어다. 지금 이 글을 띄우고 있는 순간에도 운영체제는 수백 개의 프로세스에 CPU 시간을 잘게 쪼개 나눠주고, 메모리가 부족하면 일부를 디스크로 밀어내고, 키보드 입력을 받아 화면에 글자를 그리는 일을 1초에도 수없이 반복하고 있다. 이 글에서는 "운영체제란 대체 무슨 일을 하는 소프트웨어인가"라는 큰 그림을 잡아본다. 세부 기능으로 들어가기 전에 이 지도를 손에 쥐고 있으면, 복잡해 보이는 기능들이 사실 몇 개의 일관된 목적에서 갈라져 나온 것임을 알 수 있다.1. 소프트웨어와 운영체제컴퓨터에서 돌아가는 소프트웨어는 목적에 따라 크게 둘로 나뉜다.시스템 소프트웨어: 하드웨어를 직접 제어·운영하기 위한 프로그램...

computer_science/os 2026.06.24

[데이터베이스] 01. 데이터베이스 기본 개념

데이터베이스를 흔히 "데이터의 집합"이라고 정의한다. 그런데 이 정의를 처음 만나면 자연스럽게 궁금해진다. 그럼 엑셀 파일이나 메모장에 적은 전화번호 목록도 데이터베이스라고 부를 수 있을까?이 글에서는 "그냥 데이터를 모아둔 것"과 "데이터베이스"를 가르는 기준이 무엇인지, 그리고 왜 굳이 파일 대신 데이터베이스라는 별도의 체계를 만들게 되었는지를 차근차근 짚어본다.이 출발점을 제대로 잡아두면, 데이터베이스가 갖춰야 할 여러 성질이 결국 "이 기준을 지키기 위한 장치"로 자연스럽게 이해된다.1. 데이터와 정보데이터(data) : 현실 세계에서 관찰·측정으로 수집한 사실이나 값 그 자체.정보(information) : 의사결정에 유용하도록 데이터를 처리·가공한 결과물. 둘의 차이는 "가공 여부"다. "오늘..

data/database 2026.06.24

[윈도우즈프로그래밍] Visual Basic 숫자 야구 게임 - 과제 리뷰

윈도우즈 프로그래밍 수업 과제로 제출한 숫자 야구 게임 코드 분석 및 리뷰. 문제 해결을 위한 논리 구조와 코딩 원칙을 기준으로 각 모듈의 역할을 분리하여 정리함. 문제 접근 방식 및 논리 구조 설계 코드를 작성할 때 핵심으로 삼은 것은 '사람이 손으로 직접 야구 게임을 계산하는 절차를 왜곡 없이 코드로 옮기는 것'이다. 무리하게 수학적으로 로직을 압축하거나 복잡한 추상화를 도입하는 것을 지양하고, 디버깅 시 계산 과정을 직관적으로 추적할 수 있도록 논리를 구성했다. 데이터 구조화: 컴퓨터 정답과 사용자 입력을 길이 3의 1차원 정수 배열로 정의하여, 인덱스(0~2)를 기준으로 위치와 값을 동시에 비교할 수 있는 기반을 마련한다.제어 흐름의 표준화: 배열 순회 및 난수 생성 반복문은 반드시 초기값을 0으..