YangDK
개발 공부
YangDK
전체 방문자
오늘
어제
  • 개발 공부 시작 (22)
    • GitHub (2)
    • JAVA (1)
    • 시스템 프로그래밍(윈도우) (1)
    • C# (6)
    • 자바스크립트 (1)
    • 프로젝트 제작 (1)
    • 연습 프로젝트 (2)
    • HTTP (1)
    • 타입스크립트 (0)
    • 오류 해결 (0)
    • React (1)
    • 컴퓨터 구조 (1)
    • 자료구조 & 알고리즘 (1)
    • HTML (1)
    • CSS (1)
    • 프로그래머스 (1)
    • IT 기기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 빅오
  • b650m k
  • Big O
  • programmers
  • 메인보드
  • 자료구조
  • 웹 개발 공부
  • 프론트엔드
  • GiGABYTE
  • b650
  • LandingPage
  • 기가바이트
  • 프로그래머스
  • Front-end
  • dashboard
  • Dev-Matching
  • css
  • landing
  • Page
  • 메인화면

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
YangDK

개발 공부

컴퓨터 구조

컴퓨타 용어 정리

2022. 11. 2. 20:03

데이터(data)

  • 어떤 값을 포함하고 있는 가공되지 않은 1차 자료를 말한다.
  • 컴퓨터가 처리할 수 있는 문자, 소리, 그림 형태로 된 자료
  • 프로그램에 부속된 파일, 특히 사용자가 해독할 수 없는 형태의 이진 파일을 데이터라고 부른다.
  • 데이터는 수치화된 크기/규모, 개수, 문자 또는 컴퓨터에 의해 해석되어 처리되거나 다른 기계, 다른 컴퓨터를 제어할 수 있는 명령어를 나타내는 심볼 등을 뜻하며, 보통 저장매체에 저장되어 전기 신호의 형태로 전송될 수 있다.
  • 프로그래밍에서 컴퓨터가 실행하는 부분을 Text라고 부르고, 프로그램이 참조하는 숫자 값, 이진 값, 또는 문자 값, 변수 등이 저장되는 부분을 Data라고 구분하기도 한다.

세그먼트(segment)

  • 프로그램에 정의된 특정 영역으로 코드, 데이터 등이 이에 해당된다.
  • 세그먼트는 메모리의 거의 어느 곳에나 위치할 수 있고, 프로그램 실행을 위해 필요한 공간과 데이터를 처리하는 명령어들을 위한 프로그램이나 메모리의 부분이다.
  • 세그먼트 방식에서는 나누어진 세그먼트 별로 프로세스에게 할당하고 다른 세그먼트에 대한 접근을 막는 방식으로 메모리를 보호한다.
  • 세그먼트들은 크기가 서로 다르므로 페이징 기법과 같이 메모리를 미리 분할할 수 없다. 또한 메모리를 참조하게 될 때 메모리의 위치를 파악하기 위해 세그먼트 번호와 오프셋(offset)을 기준으로 데이터를 다룬다.
  • 주요 세그먼트는 실행될 프로그램의 기계어 명령어를 포함하는 코드(code) 세그먼트, 프로그램에서 정의된 데이터, 상수, 작업 영역 등을 포함하는 데이터(data) 세그먼트, 프로그램이 임시로 사용하는 지역 함수 변수 등의 데이터가 저장되는 스택(stack) 세그먼트, ㅡ기가 고정되어 있지 않고 프로그래머가 직접 접근 가능한 힙(heap) 세그먼트가 있다.
  • 메모리 세그먼트 방식은 세그먼트 단위로 메모리를 통제할 수 있다는 장점이 있지만, 메모리 영역이 동적으로 분할되기 때문에 할당될 프로그램 크기보다 세그먼트 영역이 작아서 할당이 불가능한 외부 단편화(external fragmentation)문제가 발생할 수 있다.

스트라이핑(Striping)

  • 논리적 순차 데이터를 세그먼트화하여 연속적인 세그먼트가 다른 물리적 저장 장치에 저장되는 기술을 말한다.
  • 스트라이핑은 단일 저장 장치가 제공할 수 있는 것보다 더 빨리 데이터를 요청할 때 유용하다.
  • 동시에 엑세스할 수 있는 여러 장치에 세그먼트를 분산시킴으로써 총 데이터 처리량이 증가한다.
  • 또한 디스크 배열에서 I/O로드의 균형을 유지하는데 유용한 방법이며, 스트라이핑은 RAID(Redundant Array of Independent Dist) 저장소, 네트워크 인터페이스 컨트롤러, 클러스터 파일 시스템 및 그리드 기반 저장소의 다른 컴퓨터 및 일부 시스템의 RAM에서 디스크 드라이브 간에 사용된다.

기아 상태(Starvation)

  • 우선순위가 낮은 프로세스가 ReadyQueue에서 대기하고 있는데 뒤에서 계속 우선순위가 높은 프로세스가 지속적으로 큐에 삽입되면 우선순위가 낮은 프로세스는 영원히 기다려야 할 수도 있다. 이런 상태를 기아상태라고 한다.

에이징(Aging)

  • 기아상태(Starvation)의 해결법이다. 쉽게 말해서 프로세스가 나이를 먹는 것이다.
  • 오래된 프로세스일 수록 우선순위가 낮더라도 오래 기다렸으면 우선순위를 조금씩 올려주는 방법으로 우선순위 프로세스를 적용하는 경우 많이 사용된다.

스레드(thread)

  • 어떤 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다.
  • 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다.
  • 이러한 실행 방식을 멀티스레드라고 한다.

데드락(Deadlock)

  • 시스템 자원에 대한 요구가 뒤엉킨 상태
  • 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무단 대기에 빠지는 상황

임계 지역(구역)(Critical section)

  • 임계 구역(critical section) 또는 공유변수 영역은 병렬 컴퓨티에서 둘 이상의 스레드가 동시에 접근해서는 안 되는 공유자원(자료구조 또는 장치)을 접근하는 코드의 일부를 말한다.
  • 임계 구역은 지정된 시간이 지난 후 종료된다. 때문에 어떤 스레드(태스크 또는 프로세스)가 임계구역에 들어가고자 한다면 지정된 시간만큼 대기해야 한다.
  • 스레드가 공유자원의 베타적인 사용을 보장을 받기 위해서 임계 구역에 들어가거나 나올 때는 세모포어 같은 동기화 매커니즘이 사용된다.

트랜잭션(transaction)

  • 쪼갤 수 없는 업무 처리의 최소 단위를 말한다.
    • 예를 들어, A라는 사람이 B라는 사람에게 1억을 지급하고 B가 그 돈을 받은 경우, 이 거래 기록은 더 이상 쪼갤 수 없는 하나의 트랜잭션을 구성한다.
    • 만약 A는 돈을 지불했으나 B는 돈을 받지 못 했다면 그 거래는 성립되지 않는다.
    • 이처럼 A가 돈을 지불하는 행위와 B가 돈을 받는 행위는 별개로 분리될 수 없으며 하나의 거래내역으로 처리되어야 하는 단일 거래이다.
    • 이런 최소 단위를 트랜잭션이라 한다.
  • 거래내역이라고도 한다.
  • 영어로 간략하게 Tx라고 표기하기도 한다.
  • 1초당 처리할 수 있는 트랜잭션의 개수를 TPS라고 한다.
    • TPS(Transaction per Second)의 약자
    • 1초당 처리할 수 있는 트랜잭션의 개수, 100만 TPS 1초당 100만건의 트랜잭션을 처리할 수 있는 속도를 말한다.

포트(port)

  • 컴퓨터까리 정보를 교환하기 위해 사용하는 가상의 논리적 접속 위치이다.
    • 널리 알려진 포트 번호는 20번(FTP), 22번(SSH), 25번(SMTP), 53번(DNS), 80번(http), 143번(IMAP), 443번(https) 등이 있다.
  • 포트는 크게 각각 컴퓨터 하드웨어적 의미와 네트워크의 의미 두 가지 의미로 나뉜다.
  • 하드웨어적 의미로는컴퓨터의 주변장치를 접속하기 위해 사용되는 연결 부분을 의미한다.
  • 소프트웨어 혹은 네트워크의 의미로는 컴퓨터끼리 정보를 교환하기 위해 사용하는 가상의 논리적은 접속 장소를 의미한다.

인코딩(encoding)

  • 파일에 저장된 정보의 형태를 다른 것으로 변경하는 것을 말한다.
  • 부호화라고도 한다.
  • 사람이 인지할 수 있는 형태의 데이터를 약속된 규칙에 의하여 컴퓨터가 사용하는 0과 1로 변환하는 과정을 통틀어 말한다.
  • 파일 압축이나 암호화 등의 목적으로 인코딩을 한다.

디코딩(decoding)

  • 변형된 형태로 저장된 파일을 원래 상태로 되돌리는 것을 말한다.
  • 복호화라고도 한다.
  • 아날로그 신호의 표본치는 부호기에서 양자화-부호화되어 디지털 부호로 변환된다.
  • 부호화(encoding)된 정보를 부호화 되기 전으로 되돌리는 처리 혹은 그 처리 방식을 말한다.
저작자표시 (새창열림)
    YangDK
    YangDK

    티스토리툴바