위에서 작성한 내용과 연관성이 있는 기록-노트를 연결.
" [[]] "
역량 필요성
키워드
스크립트 역량은 시스템을 보다 효과적으로 관리하고 운영하는 데 크게 기여할 수 있음
스크립팅 능력을 갖추는 것은 데이터 센터 운영에 있어 매우 중요한 역량 중 하나
효율적인 시스템 관리와 운영을 위한 스크립팅 능력이 모두 요구
DB = 데이터베이스 관리 시스템 = DBMS = DataBase
DB은 데이터를 저장하고 관리하는 방법론 및 개념, 실질적인 프로그램 모두를 포괄하는 더 넓은 맥락을 의미파일시스템 차이점
키워드
의미
인공지능-기계 학습을 위한 데이터 준비 과정! 조금 다름 | 인공지능-지식브레인아키텍처를 통해 디지털 환경의 다양한 구성요소들이 어떻게 조합되어 있는지, 각 구성요소의 역할과 관계를 한눈에 알아볼 수 있는 설계도 이해컴퓨터 구조 배운다! 표현 의미
컴퓨터가 이해하는 정보! 배운다. =>제어신호를 사용전기신호 형태로 전달되며, 각종 하드웨어 장치의 동작을 제어하드 드라이브 컨트롤러에 제어 신호 형태로 전달이러한 과정이 사용자의 고수준 명령(명령어)가 실제 하드웨어 동작-제어신호로 변환되어 실행되고 있는 것
컴퓨터/메모리에 저장되는 데이터 형태 배운다. =>인코딩에 따라 이진 숫자로 변환되어 저장되고, 이미지는 픽셀 값으로 변환되어 각각 이진 데이터로 표현되어 메모리에 저장메모리에 저장되는 모든 정보, 그것이 명령어(코드)이든 데이터이든, 최종적으로는 0과 1로 구성된 이진 숫자 형태로 저장됩
컴퓨터를 이루는 4가지 핵심 부품! 배운다.하드디스크에 저장되었는지 보고, 디스크에 있는 데이터를 불러옵램/메모리에 소프트웨어를 올리고 동작을 할 준비CPU에서 연산을 하며 소프트웨어를 동작메모리 용어는 RAM 의미함. 따라서 메모리 계층 구조 라는 표현 시 RAM 메모리 계층구조! 라고 잘 못 이해할 수 있음 > 따라서 저장장치 계층 구조 표현 사용CPU에 얼마나 가까운가!를 기준으로 계층적으로 나타낼 수 있음아두이노나 라즈베리파이와 같은 장치들도 이 네 가지 핵심 구성 요소를 갖추고 있기 때문에 컴퓨터로 분류될 수 있음
CPU가 메모리 속 명령어를 읽어 들이기 위해 제어장치에서 ‘메모리 읽기’라는 신호를 내보낸다
제어 버스로 ‘메모리 읽기’ 제어 신호를 내보내고, ② 주소 버스로 읽고자 하는 주소를 내보냅메모리는 데이터 버스로 CPU가 요청한 주소에 있는 내용을 보냅데이터 버스를 통해 메모리에 저장할 값(CPU에서 연산이 끝난 값)을,보조기억장치 : 정의를 기반 > 보조기억장치 역시 입출력장치 표현 가능**전송률(상호작용 속도)** 의 차이가 존재
디지털 인프라 아키텍처-이미지 확인.운영체제도 결국엔 프로그램임 , 운영체제는 HW 자원을 관리함 = 운영체제 <> 하드웨어 상호작용
OS는 SW가 HW위에서 효율적으로 동작하기 위한 기반이 되는/효율적으로 상호작용을 위한/인터페이스 역할을 하는 프로그램
메모리 관리 서브시스템프로세스 관리 서브시스템운영체제는 파일 시스템을 가지고 있음 > 따라서 파일과 데이터를 하드 드라이브, SSD 등 다양한 저장 장치에 저장 및 관리가 가능데이터를 파일과 폴더 형태로 저장하고 관리파일-폴더-트리구조-계층 이러한 구조에서 특정한 위치에 존재하는 파일에 접근하기 위해선 경로 필요 = 물리적인 위치에 기반한 접근입출력 관리 시스템
입출력 장치(키보드, 마우스, 프린터 등)를 통해 데이터를 송수신 > 다양한 입출력 장치들을 효율적으로 관리
.exe 파일 등)이 함께 설치됨
.exe 형식의 실행 파일.app 패키지웹 브라우저를 통해 접근하고 사용하는 소프트웨어를 의미 > 사용자는 이러한 프로그램을 자신의 장치에 직접 설치하지 않고, 인터넷을 통해 서비스에 접속 후 사용.따라서 펌웨어도 시스템 소프트웨어로 분류할 수 있음
따라서 운영체제(프로그램) = 시스템 소프트웨어 한 예
**네트워크 영역**: 이들 기기와 서버들을 연결하는 통신망통신규칙://인터넷 호스트 주소/경로 이름관점의 차이에 따른 용어
모니터가 없는 pc > 서버pc로 사용하기 위해 하드웨어 수준으로 구성한 것모든 프로그램은 사실 수많은 코드 파일/코드로직덩어리로 이루어져 있음
프로토콜!을 언급할 때 이 두 프로토콜을 함께 언급하는 이유는, 대부분의 인터넷 통신이 이 두 프로토콜에 의존하고 있기 때문 = 기본이 되는 프로토콜!다양한 프로토콜들이 존재 표현=>HTTP를 선택하면 포트 80이 자동으로 열립 > 이는 웹 서버에 대한 접근을 허용하기 위함A규칙을 기반으로 이 위에 B규칙 실행DNS 서버와의 상호작용에서는 TCP를 사용
웹 서버와의 상호작용에서는 HTTP 프로토콜이 사용
ping 명령을 사용하여 네트워크의 연결 상태를 확인 가능ping www.google.com 명령을 실행할 때, 사용자의 컴퓨터는 'ICMP 에코 요청' 패킷(데이터 단위-상자)을 google.com의 서버로 보냅다양한 데이터 교환하는 상황 존재대부분 상황에서 여러 프로토콜이 함께 작동하여 특정 작업을 완료됨이러한 상황이라면 이는 네트워크 혼잡-성능 문제, 구성 문제, 하드웨어 결함이 있다는 지표가 될 수 있음
ICMP 에코 요청이 특정 네트워크 노드에서 일관되게 손실되는 경우, 해당 노드에서 문제가 발생했을 가능성을 검토네트워크 설정 조정 / 장비 교체/수리컴퓨터 = 하나의 시스템에 문제가 발생하면 다양한 구성요소들을 확인해야 하는 것처럼 > 인터넷-네트워크 통신망 문제가 발생하면 다양한 구성요소들을 단계적으로 모두 확인아래와 같은 서비스-애플리케이션들이 클라우드 기반 서비스였기 때문에 어떤 기기에서도 쉽게 해당 데이터에 접근할 수 있던 거구나클라우드 기술의 발전으로 서버 자원을 좀 더 유연하게 확장하고 관리 가능해짐이러한 구성요소들을 통합하여 인프라라고 표현
이를 위해 고속 인터넷, 라우터, 스위치, 방화벽 등의 네트워크 장비 및 기술 포함
이진 탐색 알고리즘 내부에 이러한 내용이 개념적으로 정의되어 있었구나각 자리 숫자 x 해당 진법의 자리값 끼리 더하면 해당 값이 나온다.각 자리 숫자 x 해당 진법의 자리값 끼리 더하면 1001 이진수 값에 대한 십진수 값을 파악 가능**RAID 1**에서는 각 데이터가 두 개 이상의 디스크에 동일하게 복사되어 저장이러한 복구 프로세스는 데이터의 무결성과 가용성을 보장하며, 특히 중요한 데이터를 다루는 서버나 대용량 스토리지 시스템에서 중요한 역할
프로그램 카운터에 실행될 메모리 처음 위치가 저장됨
메모리 주소 레지스터에 해당값이 복사된다주소버스를 통해 메모리로 전달 + 동시에 제어장치에서 생성된 제어신호는 제어버스통해 메모리로 전달데이터버스를 통해 보내준다. = 메모리 버퍼 레지스터에 보내준다.메모리 버퍼 레지스터에 저장이 되면 동시에 다음작업 수행을 위해 프로그램 카운터에 있던 값을 증가시킨다. (순차적인 실행 흐름위해)명령어 레지스터에 할당된다. 즉 1000번지에 존재하던 값이 해당 레지스터에 할당된다.a > b가 참일 경우: (CONDITIONAL JUMP) 저수준 명령어 실행되어 > "a is greater"를 출력하는 코드의 위치로 점프프로그램 카운터가 가리키는 명령어의 위치가 변경되는 것
DRAM 특성 상 사용하는 커패시터는 지속적으로 전하를 잃는다. 즉, 전원이 켜져 있는 동안에도 커패시터의 전하 누설로 인해 데이터가 점차 사라지기 때문에, 전원 공급 중이더라도 주기적으로 리프레시(재활성화)가 필요커패시터와 트랜지스터를 사용캐시 메모리에서 사용트랙과 섹터-저장단위를 나눌 수 있음실린더! 저장단위로로 나눌 수 있음헤드는 같이 움직인다스핀들 모터가 있고, 스핀들 모터의 회선속도(RPM)가 높을 수록 더욱 빠르게 데이터를 읽고 쓸 수가 있다. 허나 소음과 진동이 발생하는 단점 발생헤드는 실제로 플래터와 접촉을 하고 있는 것이 아니고 표면에 살짝 더있는 상태로 데이터를 읽거나 쓴다. 따라서 하드 디스크가 동작하는 도중에 외부에서 충격이 가해지거나 갑자기 전원이 차단되면 헤드가 플래터의 표면을 긁어서 고장 나기도 합프로그램 카운터(PC)가 현재 실행 중인 명령어의 주소를 가리킬 때, 상대 주소는 이 PC 값을 기준으로 하여 다음에 실행할 명령어의 위치를 결정프로그램 카운터 레지스터 기존기록 복기!플래그 값! 이라는 게 존재 > 플래그 레지스터에 저장다양한 플래그 값 존재 > 각각 저장됨Stack<Integer> stack = new Stack<>(); 코드를 사용하여 스택을 생성하면, 이 코드가 실행될 때 메모리 내에서 스택을 위한 공간이 할당됨List<Integer> list = new ArrayList<>();를 실행하면, 리스트를 위한 초기 메모리 할당이 이루어짐입출력장치와 메모리 간 데이터 이동 CPU가 주도함 + 이동하는 데이터 역시 CPU를 거침CPU가 HDD 장치 컨트롤러-레지스터에 있는 값을 확인하고 > CPU레지스터에 값이 저장되고 > 메모리에 저장너가 나대신 ~ 처리해장치 컨트롤러와 상호작용하며 입출력작업 수행DMA 컨트롤러는 인터럽트 신호를 통해 CPU에게 작업이 끝났음을 알림DMA 컨트롤러가 CPU의 개입 없이 직접 메모리와 입출력 장치 사이에서 데이터 전송을 처리 > 이는 대량의 데이터를 효율적으로 처리할 수 있도록 하여 CPU의 부담을 크게 줄입시스템 버스를 이용시스템버스는 공용 자원이기에 동시 사용 불가능
시스템버스를 사용할 땐 DMA 컨트롤러는 시스템 버스를 사용할 수 XDMA 컨트롤러가 시스템버스를 사용할 땐 CPU는 시스템 버스를 사용할 수 XDMA 컨트롤러는 CPU가 시스템버스를 이용하지 않을 때마다 허락을 구하고 조금씩 버스를 이용함장치 컨트롤러가 시스템 버스에 직접 연결된 이미지들임장치 컨트롤러가 모두 시스템 버스에 연결되어 있는 구조는 좋지 않음입출력 버스를 통해 시스템 버스의 이용 빈도를 낮춤 > 시스템 버스는 공용 자원이라 빈도를 줄여야 CPU와 상호작용 속도 상승CPU는 데이터를 저장하기 위해 HDD 컨트롤러에 제어신호를 보냄제어 레지스터에 저장됨HDD 컨트롤러가 HDD 상태를 확인함 > 문제가 없다면 상태 레지스터에 준비완료 값 생성장치 컨트롤러 레지스터를 직접 확인하고 관리(값을 읽고 씀) 으로써 동작하는 방식open 시스템 콜을 사용하여 디스크 상의 이미지 파일을 엽read 시스템 콜을 사용하여 이미지 파일의 내용을 메모리(버퍼)로 읽어 들입close 시스템 콜을 사용하여 파일을 닫음프린터 컨트롤러 데이터 레지스터 주소프린트 컨트롤러 상태 레지스터 주소하드 디스크 컨트롤러 데이터 레지스터 주소하드 디스크 컨트롤러 상태 레지스터 주소517번지 값을 읽어라! 라는 명령을 실행하면 됨
메모리 접근 명령어 = 입출력장치 접근 명령어고립형 입출력 방식과 달리 별도의 입출력 명령어 필요 X입출력 전용 명령어 존재따라서 별도의 명령어 필요
따라서 읽기/쓰기 신호가 이동되는
제어버스각각 존재 (메모리 읽기/쓰기제어버스,입출력 읽기/쓰기제어버스)
인터럽트 요청 신호
CPU에 인터럽트 신호를 보냄입출력 장치에서 발생하는 인터럽트가 PIC(Programmable Interrupt Controller)를 거쳐 CPU로 전달되는 것
장치 컨트롤러들이 연결된 상태 생각 > 중앙집중식으로 관리 가능시스템 정보 에서 동시다발적으로 발생하는 여러 하드웨어 인터럽트 우선순위 확인 가능인터럽트 신호는 입출력 컨트롤러로부터 바로 CPU에 전달되며, CPU가 신호를 받고 처리하기 시작할 때 운영체제가 관여합
다양한 입출력 장치 존재 > 각각 컨트롤러 필요장치가 다양하면 > 각 장치마다 CPU와 상호작용 속도, 데이터 전송 형식-방식, 요구사항 및 통신 프로토콜 다름 > 규격화 하기 어려움버퍼 라는 임시 저장 공간에 저장해 전송률을 비슷하게 맞추는 방법.장치 컨트롤러 내부에 존재. = 실제로 존재하는 물리적인 메모리 공간버퍼와 레지스터는 장치 컨트롤러 내에서 각각 독립적으로 존재버퍼는 네트워크로부터 수신된 데이터 패킷을 임시 저장하거나, 전송할 데이터 패킷을 임시로 보관 > 입출력 장치와 CPU 간의 속도 차이를 완화하고 시스템의 전체적인 효율성을 향상시스템 버스-통로 존재레지스터는 어떤 데이터를 저장하는지에 따라서 명칭 다름데이터 레지스터 존재버퍼에 전송할 데이터상태 레지스터 존재제어 레지스터 존재입출력 장치에서 시작해 장치 컨트롤러를 거쳐 메모리로 이동하고, 그 후 CPU가 데이터에 접근합CPU에서 처리한 데이터가 입출력 장치로 전달입출력 장치에서 장치 컨트롤러의 레지스터를 통해 상태가 조절되고, 장치 컨트롤러 내 버퍼를 거쳐 임시로 데이터가 저장된 후, 이 데이터가 메모리로 이동하고 마지막으로 CPU가 이를 처리입출력장치-컨트롤러를 제어하는 방식프로그램은 메모리 위에 존재. 공간 차지입출력장치를 연결하기 위한 하드웨어적인/물리적인 통로라면, 장치 드라이버는 입출력장치를 연결하기 위한 소프트웨어적인 통로장치 드라이버를 인식하고 실행할 수 있다면 그때 컴퓨터 내부와 입출력장치 간 정보를 주고 받을 수 있음컨트롤러 처럼 특정 하드웨어의 세부적인 통신 프로토콜과 기능을 알고 있어야 하며, 이를 통해 해당 장치의 모든 기능을 운영 체제가 활용할 수 있도록 지원따라서 운영체제에서 확인 가능 > 장치 관리자 프로그램!
두 용어는 저장 공간 관련 문제를 설명하지만, 발생 원인과 처리 방식이 다릅
요약 : 슬랙 스페이스는 단일 파일 내부의 낭비를, 외부 단편화는 전체 저장 공간의 비효율적 활용을 각각 나타내는 용어
불연속 할당 방식색인 할당ls -i 명령어
df -T 명령어
CPU 연산작업 = 명령어를 해석 > 실행 > 출력하는 것 사용자 모드로 코드 해석 > 실행커널 모드로 코드 해석 > 실행HDD에 데이터를 저장해라! 의미를 가진 명령코드 실행상황예시1 상황에서 아래와 같은 과정이 있었던 것
시스템콜을 통해 애플리케이션은 운영체제에 서비스를 요청하며, 운영체제는 이러한 요청을 받아 하드웨어에 접근하고 제어OS야 나 ~ 프로그램인데 ~ 데이터 HDD에 저장해야됨> HDD야 나 OS인데 ~ 프로그램이 ~데이터 저장해야된데 너 코드 해석>실행하는 모드 변경하고 데이터 저장해줘응용프로그램들이 자신을 통해서 HW 자원에 접근하도록 함open: 파일을 열고 파일에 대한 접근 권한을 획득read 시스템 콜을 통해 운영 체제에게 데이터를 요청 > 운영 체제는 CPU 모드 변경 > 따라서 파일에서 데이터를 읽어 프로세스의 메모리 공간으로 전송 가능해짐한계 레지스터 존재가상공간-논리주소는 0번부터 시작베이스 레지스터에는 프로그램의 시작점 주소 존재데이터는 CPU-논리주소 > MMU에 의해 변환된 물리 주소를 기반으로 메모리로 전송 > 도착소스코드 > 기계어 > 실행파일 > 실행
python 입력 > 파이썬 인터프리터 프로그램 실행됨-~) 로 시작'
Windows 키 + R = 실행 프로그램 > cmd 검색
Ctrl + C
cd 명령어(코드)-Change Directory
pwd 명령코드
dir-Directory
. (현재 디렉토리를 가리키는)와 .. (상위 디렉토리를 가리키는)가 존재하기 때문에 > 최소2개 디렉토리 존재<DIR> 표시가 디렉토리 옆에 나타남. 디렉토리는 해당 위치 자체를 가리킴.. 디렉토리는 상위 디렉토리cls-Clear Screen
where -
nslookup 명령코드
윈도우 명령코드 표현 : 윈도우 환경에서 nslookup을 사용운영체제 명령코드 표현 : 다양한 운영 체제에서 사용될 수 있기 때문네트워크 명령코드 : 네트워크 문제 진단에 사용되므로nslookup 명령어를 사용nslookup example.com을 실행ㅡ 이해 ㅇ : 출력된 결과를 보고 해당 서버와 로컬pc가 제대로 통신이 이뤄지고 있는지를 확인한다는 것diskpart 명령어 = 유틸리티 도구 = 프로그램 | 파티셔닝-파티션-포매팅-포맷#- 윈도우-cmd-예시코드ping
여기서 명령 창 열기C:\Program Files\Git./src/compnents/Counter.js
../../img/logo.jpg
/ - root 위치(경로) 선택(이동)됨./ - 현재 위치(경로) 선택됨
../ - 상위 위치(경로) 선택됨a.sh파일위치에 접근하는지 확인 =>a.sh 파일 시작점이 되는 블록 주소 확인가능
i-node = 인덱스 노드! 라고도 부름i-node값은 유닉스 파일 시스템 사용 시 한 파티션에 모여 저장됨 = i-node 파티션-영역 존재a.sh 파일을 접근해 나가는 과정 가정단일 간접 블록 주소를 저장이중 간접 블록 주소를 저장단일 간접 블록들의 주소를 저장한 블록삼중 간접 블록 주소 저장독립적으로 부팅 가능이라는 말은 컴퓨터를 종료한 후 다시 실행할 때, 사용자가 부트 매니저(예: GRUB, Windows Boot Manager)를 통해 여러 설치된 운영 체제 중에서 하나를 선택하여 부팅할 수 있다는 것을 의미속성 탭 > 세부정보 확인 가능파티션 정보 확인 가능. 하지만 시작 - 끝 포인트 정보 확인불가diskpart 명령어나 Linux의 fdisk 같은 명령줄 도구를 사용하여 이러한 정보를 확인diskpart 명령어 = 유틸리티 도구 = 프로그램
diskpart 명령을 입력하여 도구를 시작list disk를 입력하여 사용 가능한 디스크 목록을 보고, 관심 있는 디스크 번호를 확인select disk X (X는 디스크 번호)를 입력하여 특정 디스크를 선택list partition을 입력하여 해당 디스크의 파티션 목록과 함께 각 파티션의 세부 정보를 확인diskpart 명령어에서 해당 파티션의 데이터가 하드 드라이브 상에서 어디서 시작하는지를 나타내는 정보로, 이는 파티션의 물리적인 위치를 알려줍diskpart의 출력에서 '파티션 3'의 경우파일의 메타데이터와 파일 속성은 서로 밀접하게 연관되어 있으며, 종종 같은 의미로 사용파일 속성 / 파일 메타데이터 > 안에 파일 크기 존재마우스 우클릭 > 속성 통해 직접 확인 가능
유형 = 파일 확장자 = 파일 종류
트리 구조 디렉토리 표현 사용/ 2가지 의미 가짐
폴더는 파일들을 효과적으로 관리하기 위해 사용되는 논리적인 단위디렉토리는 특별한 정보를 포함한 파일로 표현 = 구분짓지 않는다파일과 관련된 정보 존재해당 디렉토리에 담겨 있는 파일-대상과 관련된 정보 존재즉 내가 하고 있던 행동 내부에선 TCP 프로토콜이 실행되고 있던 것http://www.naver.com/ 가정https://www.google.com 서버)가 도달 가능하고 응답 가능한 상태인지 확인하기 위해 사용서버용어 - 관점에 따른 용어 / 기존기록 확인 / 네트워크사용자 PC <> DHCP 서버(IP 주소 할당) → 웹 브라우저 <> DNS 서버 → 사용자PC-웹 브라우저-HTTP요청 <> 웹 서버(요청에 대한 응답) → 웹 브라우저(콘텐츠 렌더링)쿠키와 다름따라서 티켓은 문제 해결을 효율적으로 관리해줌 = 문제를 추적하고 해결
Incident 프로세스와 SLA 기반 티켓 관리는 모두 문제 발생 시 이를 처리하는 과정을 의미하지만, Incident 프로세스는 모든 유형의 문제를 포괄적으로 다루고, SLA 기반 티켓 관리는 SLA 기준에 따라 문제를 처리하는 데 중점따라서 SLA에 명시된 기준에 따라 문제를 식별하고 처리하기 때문에, Incident 프로세스에서는 문제로 인식될 상황이 SLA 기반 티켓 관리에서는 문제로 인식되지 않을 수 있습
vi, vim에디터프로그램=IDE보다 상대적으로 가벼움 > 코드 편집에 중점텍스트편집기보다 무거움
온라인 쇼핑을 할 때 사용자가 장바구니에 상품을 추가해도, 페이지를 전환할 때마다 그 상태가 유지되지 않아 장바구니에 상품이 남아있지 않는 문제가 발생ㅡ 이해 ㅇ : 잘 못 알고 있었음. 처음 브라우저를 클릭하는 행위는 서버에 요청을 보내는 행위 x 비유 이해 : a라는 사람이 방금전 이 웹사이트 요청을 보냈었어 = 방문 했었음!!요청로직 <> 처리로직을 연결하는 매커니즘/구조를 라우트! 표현 사용@app.route() 데코레이터(표현식-함수)를 사용하여 특정 경로/요청와 함수(요청 처리 로직) 를 연결하는 방식으로 라우트를 정의워드프레스(CMS) 다양한 기능콘텐츠 게시=데이터 관리를 위해선 MySQL이나 MariaDB 같은 데이터베이스를 사용해야 하기 때문/접근이 가능해야 함yourblog)은 해당 메인 도메인 내에서 구분되는 특정 섹션 또는 페이지를 가리킴. 보통 URL에서 가장 왼쪽에 위치tistory.com)은 티스토리 웹사이트의 주 도메인을 나타냄yourblog.tistory.com 주소yourblog는 사용자가 자신의 블로그를 개별적으로 식별할 수 있게 해주는 서브 도메인 부분이고, tistory.com은 모든 사용자가 공유하는 메인 도메인 부분tistory.com) 아래에 위치지금까지 해온 작업들이 워드프레스를 설치하고 호스팅하기 위함임. ( AWS EC2 인스턴스 생성 등등등)
특징 추출해 반정형 or 정형 데이터로 변환하는 과정 필요