본문 바로가기

CS study6

6. 데이터베이스의 반정규화 CS☝🏻 데이터베이스의 반정규화의 정의와 종류 ✨정규화와 반정규화 정규화(Normalization)는 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개 바람직한 스키마로 만들어가는 과정이다. 논리적 설계 단계에서 수행되며, 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장한다. 정규화 단계까지 설명하기엔 글이 너무 길어질 것 같아 생략했다..! 반정규화(De-Normalization)는 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터를 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위이다. 시스템 성능이 향상되고 관리 효율성 또한 증가하지만, 데이터의 일관성 및 정합성이 저하될 수 있다. 과도한 반정규화는 오히려 성능을 저하시킨다. 사전에 데이터.. 2022. 8. 2.
5. 문맥 교환(Context Switching)이란? CS☝🏻 문맥 교환(Context Switching)에 대해 설명해라 사용자 입장에서는 여러 프로세스가 동시에 실행되는 것처럼 보이지만, 사실은 CPU가 시간할당량에 따라 각 프로세스를 순차적으로 처리하는 것이다. 처리해야 할 프로세스가 많을 때, CPU는 프로세스의 정보가 담긴 PCB에서 얻은 정보를 바탕으로 프로세스를 처리하는데 이때 프로세스의 상태 정보를 교환하는 작업을 문맥 교환이라고 한다. 문맥교환은 '현재 CPU를 사용 중인 프로세스의 CPU 제어권이 다른 프로세스로 이양되는 과정'을 의미한다. 1. 실행 중인 프로세스의 CPU 시간할당량이 끝나거나 인터럽트 발생 시, 해당 프로세스 상태(문맥)를 PCB에 저장한다. 2. 다음에 실행할 프로세스의 문맥을 PCB에서 읽어 레지스터에 적재한다. 이.. 2022. 8. 2.
4. TCP의 3가지 제어: 흐름제어, 오류제어, 혼잡제어 CS☝🏻 TCP의 대표적 3가지 제어 ✨TCP의 3가지 제어 전송 데이터의 양을 조절하는 흐름제어 통신 중 데이터가 유실되거나 잘못 수신되었을 경우 대처하기 위한 오류제어 네트워크 혼잡에 대처하기 위한 혼잡제어 1. 흐름제어 송신 측과 수신 측의 데이터 처리 속도가 상이할 시 발생할 수 있는 오류에 대비하기 위해 전송되는 데이터의 양을 조절하는 흐름제어 기능이 있다. 송신 측이 빠르면, 수신 측 버퍼가 넘치는 오버플로우 문제가 발생한다. 이 문제를 줄이기 위해 윈도우 크기로 송신 측 데이터 전송량을 조절한다. 해결방법 1) Stop and Wait: 상대방에게 데이터를 보낸 후 응답 신호를 받고서 다음 패킷을 보내는 방법 해결방법 2) Sliding Window: 송신 측이 수신 측에서 받은 윈도우 크기.. 2022. 8. 2.
3. 커널(kernel)이란? CS☝🏻 커널의 종류 ✨커널이란? 초창기에는 사용자의 명령을 하드웨어에서 바로 수행했으나, 프로그램이 복잡해지고 하드웨어가 다양해지면서 운영체제가 탄생하게 되었다. 그리고 이 운영체제는 커널과 시스템 프로그램으로 구분된다. 그중 오늘의 주제인 커널은 운영체제의 핵심으로, 하드웨어와 응용 프로그램 사이에서 인터페이스를 제공하고 컴퓨터 자원들을 관리한다. 커널은 항상 컴퓨터 자원을 바라보고 있기 때문에 사용자와의 상호작용은 불가능하다. 때문에 사용자와 상호작용하기 위해 시스템 프로그램이 필요하고, 대표적으로 쉘(shell)이라는 명령어 해석기가 있다. ✨리눅스 커널 구조 커널의 가장 큰 역할은 컴퓨터의 물리적(하드웨어) 자원과 추상화 자원을 관리하는 것이다. 이때, 추상화란 하나의 하드웨어를 여러 사용자들이.. 2022. 8. 1.
2. 패킷교환방식과 회선교환방식 CS☝🏻 패킷교환방식과 회선교환방식의 차이 데이터 통신을 위한 교환기술은 다수 디바이스 상호 간에 최적의 연결성을 제공해주는 기술이다. 데이터 통신 네트워크는 데이터전송에 사용되는 기술과 구조에 따라 교환 데이터 통신 네트워크와 방송 데이터 통신 네트워크로 구분되는데, 패킷교환과 회선교환, 그리고 메시지교환은 대표적인 교환 네트워크다. 회선교환(Circuit-Switched) 방식은 전송이 이루어지기 전에 먼저 전용 전송 경로를 설정하는 방식이다. 전화(음성), 센서, 원격측정 등과 같이 비교적 연속적인 데이터 흐름을 가지는 경우에 많이 사용되는 기술이다. - 회선의 설정, 데이터의 이동, 회선의 단절. 3단계로 이루어져 있다. - 회선을 할당받아 사용하므로 안정적이고 실시간 데이터 서비스가 가능하다. .. 2022. 7. 28.