◼ CS

    [자료구조] 0. 포인터의 개념을 이해해보자

    자료구조 처음 배우기 시작하면 가장 먼저 순차 자료구조와 선형 리스트(배열 및 리스트)에 대해 배운다. 이 주제는 프로그래밍 언어의 문법을 학습할 때 배우는 내용과 거의 차이점이 없어 학생들에게도 부담이 적은 부분이라 생각한다. 하지만 이다음으로 순차 자료구조와 비교되는 '연결 자료구조'에 대해 배우게 되는데, 아마 이 부분이 자료구조를 처음 학습하는 학생의 입장에서 마주하는 첫 번째 고비가 아닐까 싶다. 비록 개념 자체는 단순하지만, '포인터'를 기반으로 이루어진 자료구조라, 포인터와 메모리 개념을 잘 이해하고 있지 않는다면 연결 리스트의 개념은 물론 삽입, 삭제, 탐색 연산을 이해하고 구현하는데 상당한 어려움을 겪을 가능성이 높기 때문이다. 그래서 연결 자료구조에 대해 알아보기 전에, 우선 이 포스트..

    [OS] 운영체제란 무엇일까? (정의, 종류, 역할)

    운영체제의 정의 운영체제는 일종의 프로그램입니다. 다만 메모장이나 인터넷 브라우저처럼 우리가 흔히 쓰는 응용 프로그램과는 성격이 조금 다릅니다. 운영체제는 이러한 응용 프로그램들이 잘 실행될 수 있도록 하드웨어와 소프트웨어를 관리하는 특별한 프로그램 입니다. 운영체제가 존재하기에 사용자는 컴퓨터를 쉽게 다룰 수 있으며, 만일 운영체제가 없다면 컴퓨터는 '깡통 기계'로 전략하게 된다고 볼 수 있을 만큼 운영체제는 매우 중요한 도구입니다. (참고로 '깡통 기계'는 학부 수업 시간에 교수님께서 쓰신 표현이라 여기에도 그대로 적어봤습니다.) 운영체제의 대표적인 예시로는 윈도우, 맥 OS, 리눅스, 유닉스 등이 있습니다. 커널 영역 vs 사용자 영역 컴퓨터에서 프로그램을 실행하려면 메모리에 적재되어야 합니다. 그..

    [컴퓨터 구조] 2진수 체계

    [컴퓨터 구조] 2진수 체계

    디지털 시스템 디지털 시스템 : 0과 1을 조합해서 여러가지 정보를 얻어낼 수 있는 시스템 아날로그 시스템 (연속적) → 디지털 시스템 (이산적) 이산 정보 하나의 요소를 특정지을 수 있는 정보 유한개의 원소로 이루어진 모든 집합 ex) 10진 자리수, 알파벳 26개 문자, 체스판 64개의 칸, .. Signal 이산적인 요소를 물리적 양으로 표현한 것 ex) 전얍의 양, 전류의 양 이산 정보 요소를 2진 코드(0과 1)로 불리는 비트(bit)들의 그룹으로 표현 → 디지털 정보 비트(bit) : 데이터를 저장하는 물리적인 소자 2진수 (+ 8진수, 16진수) [10진수] 7392 = (7 * 10^3) + (3 * 10^2) + (9 * 10^1) + (2 * 10^0) [2진수] 11010.11(2) ..