본문 바로가기

소프트웨어

[컴퓨터구조] 컴퓨터의 기본 구조 컴퓨터의 기본 구조 안녕하세요 지토우에요.컴퓨터의 기본 구조에 대해 알아봅시다. 컴퓨터 시스템은 기본적으로 하드웨어와 시스템 소프트웨어로 구성되어 있습니다. 그런 시스템에 각종 응용 소프트웨어들이 탑재되어 프로그램을 처리하게 됩니다 . 컴퓨터가 주어진 작업들을 수행하려면 전기적 신호들로 표현된 정보들을 이동시키거나 처리해서 새로운 정보를 생성해야 합니다.그리고 컴퓨터 정보들의 전송 통로를 제공해주고, 그 정보에 대한 처리가 실제 일어나게 해주는 물리적인 실체들을 하드웨어라고 합니다. 그렇다면 소프트 웨어란 무엇일까요?정보들이 이동하는 방향과 정보 처리의 종류를 지정해주고, 그런 동작들이 일어나는 시간을 지정해주는 명령(command)들의 집합을 의미합니다. 한편 소프트웨어는 하드웨어에 의존적인데, 컴퓨터.. 더보기
[C언어] 1차원 배열 (1) 1차원 배열 (1) 안녕하세요 지토우에요.자료구조 공부하기 전에,먼저 배열에 대해 더 알아보면 좋을 것 같아서씨언어 메뉴도 만들고 새로 글도 썼습니다 ㅎㅎ오늘도 행복한 하루 되세요 ^^ 1. 1차원 배열이란 배열의 간단한 특징들은 다음과 같습니다. * 같은 자료형을 가진 연속된 메모리 공간으로 이루어진 자료구조* 같은 자료형을 가진 변수들이 여러 개 필요할 때 사용* 많은 양의 데이터를 처리할 때 유용 이렇게 활자로만 보면 사실 감이 잘 안오실겁니다.예시를 들어볼게요. name이라는 이름을 가진 변수를 선언해야 한다고 합시다.배열을 모른다는 가정하에, 우리는 다음과 같이 선언하게 됩니다. name1, name2, ... , name10 이런 식으로 하나하나 변수를 언제 다 선언하는 것은 번거로운 일이지요.. 더보기
[자료구조] 추상 데이터 타입 추상 데이터 타입 안녕하세요 지토우에요. 오늘은 자료구조에서도 추상 데이터 타입에 대해 배워볼까요? 데이터, 데이터 타입, 추상 데이터 타입에 대해 알아봅시다. 1. 추상 데이터 타입 프로그램에서 데이터란 무엇일까요? 사전적으로는, " 의미 있는 정보를 가진 모든 값, 사람이나 자동 기기가 생성 또는 처리하는 형태로 표시된 것을 뜻한다. " 고 합니다. 쉽게는 처리의 대상이 되는 모든 것이라고도 볼 수 있겠네요. 정수, 문자열, 실수, 여러 가지가 합쳐진 것일 수도 있습니다. 데이터 타입이란, 데이터의 집합과 이러한 데이터에 적용할 수 있는 연산의 집합을 의미합니다. 자료 구조는 이런 추상 데이터 타입을 프로그래밍 언어로 구현한 것이라고 할 수 있지요. 추상 데이터 타입이란 자료 구조를 추상적, 수학적으.. 더보기
자료구조와 알고리즘 자료구조와 알고리즘 안녕하세요 지토우에요. 오늘은 자료구조에 대해서 처음으로 들어가는 시간이에요. 가장 기본적으로 자료구조와 알고리즘에 대해 배워봅시다. 1. 자료구조란 자료구조는 영어로 data structure이라고 합니다. 말 그래도 자료 구조입니다. 들어가기에 앞서, 왜 자료구조에 대해 쉽게 설명해볼게요. 일상 생활에서 일어나는 일들을 예로 들자면 , 우리는 살면서 할 일들을 시간별로 기록해두거나 책상에 책을 쌓아두기도 하고 버스를 타려고 줄을 서 있기도 하지요. 또 영어 사전은 알파벳순으로 정렬되어 있고, 지도는 도시들의 연결 상태를 알아보기 쉽게 표시되어 있으며 회사에는 계층적 조직을 나타내는 조직도가 존재하지요. 이런 것들이 넓은 의미에서는 일종의 정리라고 할 수 있고, 컴퓨터도 마찬가지로 .. 더보기
자바와 WORA (Write Once Run Anywhere) WORA (Write Once Run Anywhere) 안녕하세요. 지토우에요. 오늘 이 시간에는 자바와 WORA (Write Once Run Anywhere) 에 대해서 공부해봐요. 별로 어려운 개념도 아니고, 쉽게 읽으시면 될 듯 합니다. 그럼 오늘도 힘차게 열공 ! 해봅시다 ~ 1. 자바와 WORA (Write Once Run Anywhere) 지난 시간에 플랫폼 종속성(platform dependence)에 대해 잠깐 설명드렸었죠? 간단히 설명하자면, Intel CPU를 가진 리눅스 환경에서 개발한 C 혹은 C++ 응용 프로그램으로는 Intel CPU + 리눅스만 실행이 가능합니다. 애플의 맥이나 Intel CPU + 윈도우 노트북에서는 실행되지 않는다는 뜻이지요. 그렇다면 왜일까요? 프로그램의 .. 더보기
자바(JAVA)의 출현 자바(JAVA)의 출현 안녕하세요. 지토우에요. 오랜만에 포스팅하는 것 같네요. 이젠 다시 1일1포스팅 도전하겠습니다 ^ㅇ^ ~ 이번 시간 부터는 자바(JAVA)에 대해 배우도록 합시다. 1. 자바의 탄생 자바를 배우기에 앞서 자바가 어떻게 탄생되었는지부터 알고 가도록 해요! 사실 자바는 우리가 지금 알고있고 쓰는 것처럼 일반 컴퓨터나 인터넷 환경에서 사용될 목적으로 설계된 것은 아니랍니다. 1991년, 선마이크로시스템스(SUN Microsystems)는 자바의 아버지라 불리는 제임스 고슬링을 중심으로 그린 프로젝트라는 이름으로 가전제품에 사용할 소프트웨어를 개발하기 시작했습니다. 기존의 프로그래밍 언어로 작성된 프로그램은 플랫폼(platform)간에 호환성이 없다는 것입니다. 따라서 사용자 컴퓨터의 플.. 더보기
리눅스 GRUB 전용 명령어 (2) 리눅스 GRUB 전용 명령어 (2) 안녕하세요 지토우에요. 오늘은 지난시간에 이어, 리눅스 GRUB 전용 명령어의 2번째 시간입니다. 1. initrd 지정한 디바이스와 지정한 커널로 부팅할 때 사용할 initrd 이미지를 지정해주는 명령어입니다. SCSI 디스크를 부팅 디스크로 사용할 경우에 initrd 항목이 설정되지 않으면 kernel panic 에 빠질 수 있으므로 주의해야 합니다. 2. kernel 부팅에 사용할 커널이미지파일의 경로를 지정하는 명령어입니다. 즉 시스템 부팅에 사용할 커널 이미지를 지정하는 명령어입니다. 3. makeactive 루트디스크에 존재하는 GRUB 의 루트디바이스를 부팅 가능한 파티션으로 지정하는 명령어입니다. 단, 이 명령어는 첫번째 하드디스크의 프라이머리(Prima.. 더보기
리눅스 GRUB 전용 명령어(1) 리눅스 GRUB 전용 명령어 안녕하세요. 지토우에요. 오늘은 GRUB의 전용 명령어에 대해 이야기해봅시다. 1. blocklist blocklist는 특정 파일에 지정된 블록리스트를 확인하는 명령어입니다. 특정 파일이 어떤 블록에 저장되어 있는지를 확인할 때에 blocklist를 사용하는데요. 하지만 리눅스에 저장된 특정파일의 블록 리스트를 확인하려면 먼저 root 명령어로 대상 파일이 저장된 디바이스가 지정돼야 합니다. 2. boot GRUB의 root 명령어로 지정된 특정 디바이스의 특정 파티션에서 GRUB의 kernel 명령어로 지정된 커널로 부팅하는 부팅 명령어 입니다. 이 boot 라는 명령어를 사용해 부팅을 하기 전, root 명령어로 특정 디바이스가 지정되어 있어야 하며 kernel 이라는 .. 더보기