computer_science 19

[컴퓨터구조] 02. 데이터의 표현

컴퓨터는 0과 1만 안다. 그렇다면 음수, 소수, 한글은 어떻게 표현할까? 오늘은 정수(2의 보수), 실수(부동소수점), 문자(ASCII·유니코드)가 비트로 어떻게 표현되는지, 그리고 오류를 어떻게 잡아내는지를 정리했다.1. 자료 표현 단위단위크기비트(bit)0 또는 1바이트(byte)8비트워드(word)CPU가 한 번에 처리하는 비트 묶음 표현 대상에 따라 방식이 다르다. 정수는 2의 보수, 실수는 부동소수점(IEEE 754), 문자는 ASCII·유니코드를 쓴다.2. 음수 표현: 2의 보수음수를 표현하는 방식은 여러 가지지만, 실제 컴퓨터는 2의 보수를 쓴다. 최상위 비트(MSB, Most Significant Bit)가 부호를 나타낸다(0은 양수, 1은 음수). 방식특징부호-크기MSB가 부호, 나머지..

[인터넷보안] 02. 시스템 보안

시스템 보안은 운영체제와 그 위에서 도는 프로그램, 그리고 자원에 접근하는 사용자들을 지키는 일이다. "누가 들어오는가(인증), 무엇을 할 수 있는가(권한), 무슨 일이 있었는가(로그)"라는 흐름이 그 뼈대다. 오늘은 계정·세션·접근 제어·권한·로그 관리, 그리고 모바일 보안까지 정리했다.1. 계정 관리: 식별과 인증보안의 출발점은 "이 사용자가 정말 그 사람인가"를 확인하는 인증이다. 인증 수단은 크게 네 가지로 나뉜다.방법예알고 있는 것패스워드가지고 있는 것신분증, OTP자신의 모습지문·홍채 등 생체 정보위치하는 곳접속 위치 확인, 콜백 다중 인증(MFA)이 강한 이유한 가지 수단은 뚫리면 끝이다. 패스워드(아는 것)는 유출될 수 있고, 휴대폰(가진 것)은 도난당할 수 있다. 그래서 서로 다른 범주의..

[알고리즘] 01. 알고리즘 개요와 복잡도

같은 문제를 푸는 방법은 여러 가지고, 그중에는 빠른 것도 느린 것도 있다. 알고리즘은 "문제를 푸는 절차"를 다루고, 그 절차가 얼마나 효율적인지를 따지는 게 복잡도다. 오늘은 알고리즘이 갖춰야 할 조건부터 성능을 재는 빅오 표기법까지, 알고리즘 공부의 토대를 잡았다.1. 알고리즘의 정의와 요건알고리즘(Algorithm)어떤 문제를 해결하기 위한 일련의 순서(명령어의 나열)다. 가장 오래된 알고리즘으로는 기원전 300년경 유클리드의 최대공약수 알고리즘이 꼽힌다. 알고리즘이라 부르려면 다음 다섯 조건을 갖춰야 한다.요건설명입력(Input)0개 이상의 외부 입력출력(Output)1개 이상의 출력정확성주어진 입력에 대해 올바른 해를 냄유한성일정 시간 안에 반드시 종료수행성모든 명령이 실제로 실행 가능 입력은..

[자료구조] 01. 자료구조 개요와 분류

자료구조는 데이터를 아무렇게나 저장하는 방법이 아니라, 처리 목적에 맞게 데이터를 배치하고 관리하는 방식이다. 같은 데이터라도 어떤 구조에 넣느냐에 따라 탐색, 삽입, 삭제의 비용이 달라진다.이 과목에서는 어려운 용어를 앞세우기보다, 다음 흐름으로 보는 편이 이해하기 쉽다.이 구조가 어떤 상황에 필요한지 본다.C언어로 내부 동작을 직접 구현한다.C++에서는 같은 구조를 직접 구현하거나 STL로 어떻게 쓰는지 비교한다.1. 자료구조의 기본 분류분류관계대표 구조단순 구조하나의 값정수, 실수, 문자선형 구조1:1 관계배열, 연결 리스트, 스택, 큐비선형 구조1:N 또는 N:M 관계트리, 그래프파일 구조보조기억장치 저장순차 파일, 색인 파일 선형 구조는 데이터가 한 줄로 이어지는 구조다. 배열과 연결 리스트는 ..

[정보통신개론] 01. 정보통신과 네트워크 기초

네트워크를 공부하기 전에, "통신"이라는 말부터 정확히 짚고 넘어갈 필요가 있다. 단순히 신호를 보내는 것과, 목적지를 찾아 데이터를 전달하는 것은 다르다. 이 글에서는 정보통신의 개념, 네트워크의 분류, 그리고 통신을 떠받치는 프로토콜과 계층화의 아이디어를 정리한다.1. 전기통신과 정보통신전기통신 vs 정보통신전기통신(Telecommunication): 신호(아날로그/디지털)를 그대로 전기 신호로 바꿔 전송한다. 단순한 신호 전달이다.정보통신(Data Communication): 신호에 목적지까지 갈 수 있는 정보(주소·제어 정보)를 덧붙여 전송한다. 시스템 간의 통신이다. 핵심 구분은 "주소와 제어 정보가 붙느냐"다. 단순히 음성을 전기 신호로 바꿔 보내는 것은 전기통신이고, 데이터에 주소를 붙여 특..

[인터넷보안] 01. 정보 보안의 세계

정보 보안은 막연히 "해킹을 막는 일"이 아니라, 무엇을 왜 지키는가에 대한 명확한 기준에서 출발한다. 그 기준이 바로 CIA, 정보 보안의 세 기둥이다. 이 글에서는 보안의 3대 요소, 정보 보안의 역사적 흐름, 관련 법률, 그리고 보안 전문가에게 요구되는 소양을 정리한다.1. 정보 보안의 3대 요소 (CIA)모든 정보 보안은 세 가지 속성으로 집약된다. 요소의미대표 수단기밀성(Confidentiality)인가된 사용자만 정보에 접근방화벽, 암호, 패스워드무결성(Integrity)인가된 사용자가, 인가된 방법으로만 변경위·변조 탐지가용성(Availability)필요한 시점에 정보 자산에 접근 가능이중화, 백업 세 요소를 일상으로 이해하기기밀성: 내 일기장을 남이 못 보게 하는 것무결성: 화폐를 정부만 ..

[컴퓨터네트워크] 01. 네트워크의 이해와 설정

지금 이 글을 보는 것도, 메시지를 보내는 것도 모두 네트워크 위에서 일어난다. 컴퓨터네트워크는 "여러 컴퓨터가 어떻게 데이터를 주고받는가"를 다루는 분야다. 첫 글에서는 네트워크의 기본 개념, 데이터 전송의 단위인 패킷, 그리고 직접 네트워크를 들여다보고 설정하는 도구들을 정리한다.1. 네트워크란?네트워크(Network)통신 장비들이 그물망처럼 연결되어 데이터를 교환하고 협력할 수 있게 해주는 통신망이다. 가장 단순하게는 통신 설비로 두 대 이상의 컴퓨터를 연결한 것이다.네트워크로 우리는 데이터와 주변장치(프린터 등)를 공유하고, 멀리 떨어진 사람과 통신하며, 함께 작업한다. 혼자 동작하던 컴퓨터가 서로 연결되며 가능해진 모든 것이 네트워크의 산물이다.2. 데이터 전송의 단위: 패킷패킷(Packet)네..

[컴퓨터구조] 01. 컴퓨터 시스템 개론

컴퓨터구조는 "컴퓨터가 안에서 어떻게 동작하는가"를 다룬다. 우리가 작성한 코드가 어떻게 0과 1이 되어 CPU에서 실행되는지, 그 밑바닥을 들여다보는 과목이다. 첫 글에서는 컴퓨터 시스템의 큰 구성과, 코드가 기계어로 번역되는 과정을 정리한다.1. 컴퓨터 시스템의 구성컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나뉘고, 하드웨어는 다시 네 부분으로 구성된다.요소역할예입력장치데이터 입력키보드, 마우스, 스캐너출력장치결과 전달모니터, 프린터중앙처리장치(CPU)두뇌. 제어장치+연산장치+레지스터-기억장치데이터 저장주기억(RAM/ROM), 보조기억(HDD/SSD) 이 중 CPU가 핵심이다. 명령을 해석·제어하는 제어장치(CU), 실제 계산을 하는 연산장치(ALU), 값을 임시로 담는 레지스터로 이뤄진다. 소프트..

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

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

computer_science/os 2026.06.24