본문 바로가기
반응형

자료구조7

[자료 구조] 시리얼 통신이란? 시리얼 통신 : 한 번에 1비트씩 전송하는 통신 패러렐 통신 : 한 번에 여러 비트를 전송하는 통신 시리얼 통신 패러렐 통신 통신 거리 원거리 전송에 유리 컴퓨터와 외부 장비 간 통신 단거리 전송에 유리 컴퓨터 내의 디바이스 간 통신 데이터 전송 량 1비트씩 전송 여러 비트 전송 기술 구현 구현 기술 단순 구현 기술 복잡 비용 구현 비용 저렴 구현 비용 고가 대표 장치 예 PC의 RS-232 포트 HDD IDE 케이블 사용 환경 실시간 작은 데이터 처리를 요구하는 환경 많은 양의 데이터 처리를 요구하는 환경 사용 예 산업현장의 각종 장비 간 통신 사용 컴퓨터 내부 장치 간 통신 사용 DTE : 데이터를 스스로 만들어내거나 어디서 보내온 데이터를 처리하는 장치 DCE : DTE에서 받은 데이터를 전송로에 .. 2023. 6. 1.
[자료구조] 스레드와 스케줄러 스레드? : 프로세스 내에서 실행되는 독립적인 실행 흐름 멀티스레드 프로그램에서는 여러 개의 스레드가 동시에 실행되며, 이때 스케줄러(Scheduler)가 스레드들 간의 실행을 관리한다. 스케줄러? 운영체제의 커널 또는 스레드 라이브러리에 의해 제공되는 컴포넌트 스케줄러의 주요 기능 1️⃣스케줄링(Scheduling): 스케줄러는 여러 개의 준비 상태(Ready)에 있는 스레드 중에서 어떤 스레드가 실행될지를 결정한다 각 스레드는 우선순위(Priority)를 가지며, 스케줄러는 이를 고려하여 실행할 스레드를 선택한다 스케줄링 알고리즘에는 라운드 로빈(Round-Robin), 우선순위 기반, 실시간 스케줄링 등 다양한 종류가 있다. 2️⃣문맥 교환(Context Switching): 스케줄러는 현재 실행 .. 2023. 5. 18.
[자료 구조] 프로세스 & 스레드 용어에 대한 내 기억을 믿지 못해서 정리했다. ✅프로세스 & 스레드 ☑프로세스? : 실행중인 프로그램 운영체제에 의해 메모리 공간을 할당받아 CPU에서 실행/제어되고 있는 프로그램이다. 종종 '스케줄링의 대상이 되는 작업'이라는 용어와 거의 같이 쓰인다. 데이터(data) + 자원(memory) + 스레드(Thread)로 구성돼 실제로 프로그램이 실행되기까지는 스레드가 데이터+자원을 활용하여 작업을 수행한다. ▶ 프로그램이란 파일 시스템에 존재하는 실행파일이다. ☑스레드 : 하나의 프로세스 내에서 여러 개의 실행 흐름(단일, 동시적, 병렬적)을 두어 작업을 효율적으로 처리하기 위한 모델 프로그램 실행 시 JVM이 시작되고 JVM이 시작되면 자바 프로세스가 시작된다. 이때 프로세스 안에 스레드가 있다. 여.. 2023. 4. 21.
[자료 구조] 프로세스 동기화 #2 Semaphore& Mutex https://veganwithbacon.tistory.com/171 [개념쌓기] 프로세스 동기화 #1 critical section 먼저 포스팅했던 데드락에서의 연장선으로 프로세스 동기화에 대해서 포스팅한다. 주제에 대해서 좀 더 많은 자료를 공부하고 포스팅하려 하다 보니 텀이 발생하는 것 같다. 취업준비하며 공부 veganwithbacon.tistory.com 앞서 포스팅했던 글에서 프로세스 동기화에 대한 내용과 알고리즘 3가지에 대해 알아봤다. 이번 글에서는 세마포어와 뮤텍스에 대해서 알아보자. 공유자원을 안전하게 관리하기 위해 상호배제(Mutual exclusion)를 달성하는 기법이 필요한데, 뮤텍스와 세마포어가 이를 위해 고안된 기법으로 서로 다른 방식으로 상호배제를 달성한다. --------.. 2023. 1. 31.
[자료 구조] 프로세스 동기화 #1 critical section 먼저 포스팅했던 데드락에서의 연장선으로 프로세스 동기화에 대해서 포스팅한다. 주제에 대해서 좀 더 많은 자료를 공부하고 포스팅하려 하다 보니 텀이 발생하는 것 같다. 취업준비하며 공부할 내용이 생각보다 많다..기존에 알던 것들에 더해 정보들을 더해나가다 보니 이해를 해야 하는 부분이 굉장히 많은 것 같다. 혹시 잘못된 내용이 있다면 지적해주시면 감사합니다. 🤔데이터가 어떻게 접근하는지부터 알아보자 1. 저장소에 있는 Data를 연산하는 곳으로 보낸다. 2. 연산하는 부분에서 연산 후 연산 결과를 원 위치로 보낸다. ex) CPU와 Memory(프로세스가 연산의 주체이며 주소공간이 저장소가 된다) ✔그럼 프로세스 동기화는 왜 필요할까 프로세스 동기화(Process Synchronization) : 여러 프.. 2023. 1. 29.
[자료 구조] TDD? 글을 읽기에 앞서, 혹시나 수정이 필요한 부분이 있다면 지적해주시면 감사하겠습니다. TDD? Test Driven Development의 약자로 '테스트 주도 개발' 이라고 한다. TDD가 테스트 주도 개발이라는 것은 알았으니, TDD의 본격적인 내용에 앞서 테스트의 종류와 단위 테스트의 중요성에 대해 알아보자. 1. 테스트의 종류? 1️⃣단위 테스트(Unit Test) : 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트 여기서 말하는 모듈은 애플리케이션 내에 하나의 기능이나 메소드로 이해하면 된다 예시로 웹에서 로그인에 대한 독립 테스트가 하나의 단위 테스트로 볼 수 있는 것이다. 단위 테스트에서 테스트 대상의 크기는 엄격하게 정해져 있지는 않다. 일반적으로는 클래스나 메소드 수준으.. 2023. 1. 20.
[자료구조] 객체지향? 객체지향 프로그래밍? 제일 많이 질문 들어오는 것 중에 하나, 바로 객체지향이다. 오늘은 객체지향이란 무엇인지와 객체 지향 프로그래밍의 특징에 대해 알아보려한다. 💡프로그래밍 패러다임 1. 명령형 프로그래밍 : 무엇을 하는지보다 어떻게 할것인지 - 절차지향 프로그래밍 - 객체지향 프로그래밍 2. 선언형 프로그래밍 : 어떻게하는지보단 무엇을 할것인지 - 함수형 프로그래밍 ✔ 절차 지향 기능이 중심이 되어, 무엇을 어떤 절차로 할 것인가? 이 점이 중점이 된다. 어떤 기능을 어떤 순서로 처리하는가?즉, 실행에 초점이 맞춰진다. ✔ 객체 지향 객체가 중심이 되어, 누가 어떤 일을 할 것인가가 중점이 된다. 객체를 도출하고 각각의 역할을 정의해 나가는 것. 즉,객체간의 관계/조직에 초점이 맞춰진다. >> 절차 지향과 객체 지향 - .. 2023. 1. 17.
반응형