반응형

CS 69

[운영체제] Round Robin Scheduling (라운드 로빈 스케줄링)

Round Robin Scheduling (라운드 로빈 스케줄링)은 시분할 시스템을 위해 설계된 선점형 스케줄링의 하나로서, 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위로 CPU 를 할당하는 방시의 CPU 스케줄링 알고리즘이다. 보통 시간 단위는 10 ms~ 100 ms 정도인데 시간 단위 동안 수행한 프로세스는 준비 큐의 끝으로 밀려나게 된다. Context Switching의 오버헤드가 큰 반면, 응답시간이 짧아지는 장점이 있어 실시간 시스템에 유리하다. [출처 : 위키백과 - https://ko.wikipedia.org/wiki/라운드_로빈_스케줄링] 우선 여기서 나오는 시분할 시스템이란 한 컴퓨터를 여러 명의 사용자가 동시에 사용하는 경우, 사용자들이 CPU의 자원을 나누어 쓰는 것..

CS/ 운영체제 2017.09.11

[네트워크] Http Live Streaming - HLS

HLS 에 대해서 이야기 하기 전에 스트리밍에 정의 대해서 알아야 할 것 같다. 스트리밍(streaming)은 주로 음악이나 동영상 등의 멀티미디어 파일을 전송하고 재생하는 방식의 하나이다. 보통 파일은 내려받고 난 뒤에 열리는 작업을 하지만, 동영상과 같이 크기가 큰 파일을 재생할 때에는 내려 받는데에 시간이 오래 걸릴 수 있다. 파일을 다운로드 하는 것과 더불어 재생을 함으로써 기다리는 시간을 줄일 수 있다. 이 기술을 이용하여, 컴퓨터 네트워크 위에 스트리밍하여 실시간 중계도 가능하다. [출처 : https://ko.wikipedia.org/wiki/스트리밍] 우선 스트리밍 서버를 구현해보려고 검색을 조금 많이 해보았는데 스트리밍을 위한 프로토콜이 몇 가지 있었다. 그 중 RTSP(Real-Time..

CS/네트워크 2017.09.07

[소프트웨어 공학] 프로세스와 방법론 - 소프트웨어 프로세스

소프트웨어 프로세스 : 소프트웨어를 개발하는데 필요한 작업을 정의한 것방법론 : 정의된 작업들을 어떤 순서로 어떤 방법으로 하는가를 다루는 것 즉흥적인 소프트웨어 개발 시의 문제점1. 설계하는 작업의 중요성을 깨닫지 못함2. 잘 설계되지 않음3. 계획이 없어 작업의 목표가 없음4. 체계적인 테스트 작업이나 품질 보증 차원의 활동에 대한 필요성의 인식이 없음 이러한 문제점들은 소프트웨어 개발과 유지보수에 비용이 많이 들게 한다. 그렇다면 프로세스 모델이란 무엇일까? 프로세스 모델이란 프로젝트 수행에 필요한 작업과 작업들 사이의 관계만을 정의한 것인데 각 단계 작업에 대한 자세한 입력 자료와 산출물의 표현 뿐만 아니라 각 작업을 어떤 방식으로 하는지를 자세히 제시하는 것이 방법론이라고 한다. 이제 점점 프로..

[DB] SQL 기초 - 4 (JOIN, 별명, VIEW)

JOIN 의 개념 서로 다른 테이블을 공통 컬럼을 기준으로 합치는(결합하는) 테이블 단위 연산 조인의 결과 테이블은 이전 테이블의 컬럼 수의 합과 같다. SELECT * FROM 테이블 1 JOIN 테이블 2 ON 테이블1.컬럼명 = 테이블2.컬럼명 ... 조인 시 서로 다른 테이블에 같은 컬럼명이 존재하면 구분을 위해 테이블명.컬럼명으로 사용해서 표시 예제 - SELECT * FROM city JOIN country ON city.CountryCode = country.Code; - SELECT city.CountryCode, country.GNP FROM city join country ON city.CountryCode = country.Code; JOIN 의 종류 조인 시 NULL 값을 허용하는 ..

CS/Data Base 2017.06.14

[DB] SQL 기초 - 3 (일부 결과값 조회 및 집합함수)

결과값 일부 조회 (ROWNUM, TOP)SQL 쿼리 결과 중 상위 몇 개만 보여주는 쿼리SELECT 컬럼명 1, 컬럼명 2, ... FROM 테이블명 WHERE 조건절 LIMIT 숫자대표적인 비표준기능 (DBMS 종류마다 다름) 예제- 국가코드가 'KOR' 인 도시들 중 인구수 많은 순서로 상위 10개만 표시하시오 결과 확인- SELECT CountryCode FROM city WHERE CountryCode = 'KOR' ORDER BY Population DESC LIMIT 10; 집합함수 (Aggregation Function)테이블의 전체 레코드를 대상으로 특정 컬럼을 적용해서 한 개의 값을 리턴하는 함수COUNT(), AVG(), SUM(), MIN(), MAX(), FIRST(), LAST(..

CS/Data Base 2017.06.14

[DB] SQL 기초 - 2 (논리 연산자와 DISTINCT 연산자)

DISTINCT 연산자 SELECT 문의 결과 값에서 특정 컬럼만 출력할 경우 중복된 값들이 나오는 경우에 이를 제거해서 표시하는 기능 SELECT DISTINCT 컬럼명 1, 컬럼명 2, ... FROM 테이블명 예제 - SELECT CountryCode FROM city WHERE CountryCode = 'KOR'; - SELECT DISTINCT CountryCode FROM city WHERE CountryCode = 'KOR'; 논리연산자 (AND, OR, NOT) SELECT 문의 조건절에 논리 조건 적용해서 적용할 수 있는 연산자 SELECT * FROM 테이블명 WHERE (NOT) 조건 1 AND/OR (NOT) 조건 2 ..... 예제 - SELECT * FROM city WHERE ..

CS/Data Base 2017.06.14

[DB] SQL 기초 - 1 (SQL 정의 및 종류, 쿼리 예제)

SQL (Structured Query Language) : - 관계형 데이터베이스에서 사용하는 표준 질의언어를 말한다. - 사용 방법이나 문법이 다른 언어(Java, C, C#, Java)보다 단순하다. - 모든 DBMS에서 사용 가능하다. - 인터프리터 언어 - 대소문자 구별하지 않는다. DML : - 데이터베이스의 테이블에 있는 내용을 직접 조작하는 기능 - 테이블의 레코드를 CRUD (Create, Retrieve, Update, Delete) SQL 문 내용 create 데이터베이스 객체를 생성 drop 데이터베이스 객체를 삭제 alter 기존에 존재하는 데이터베이스 객체를 다시 정의 DCL : - 데이베이스의 테이블에 접근 권한이나 CRUD 권한을 정의하는 기능 - 특정 사용자에게 테이블의 조..

CS/Data Base 2017.05.19

[DB] DBMS 기초

DBMS (DB Management System) : - 데이터베이스를 관리하는 시스템 DB : 테이블들이 모여 이루는 데이터 단위 - 데이터를 저장하고 유지보수(수정, 삭제, 추가)하고 이를 검색하는 시스템 CRUD(Create, Retrieve, Update, Delete) - 대량의 데이터를 처리하는 시스템 - 다양한 자료구조와 검색 구조를 사용해 빠른 검색 가능 - 대부분의 시스템은 검색 >> >> 업데이트의 빈도수가 많음 - 검색에 최적화 정렬 : - 빠른 검색을 위해서 데이터는 반드시 정렬되어 있어야 한다. - 정렬 되어 있지 않다면 평균적으로 전체 데이터의 절반 필요 (최선: 1, 최악: N, 평균: N/2) - 정렬되어 있을 경우 데이터를 빠른 시간 안에 찾을 수 있음 (O(Nlog)-O(..

CS/Data Base 2017.05.18

[알고리즘] MaxCounters

codility 사이트에서 나온 난이도 중간의 알고리즘 문제이다.문제 이해하기 조금 어려웠던 것도 있어서 이 문제는 예외적으로 블로그에서 설명하려고 한다. /* * 0으로 초기화 되어 있는 N 개의 카운터가 주어지며, * increase(X) 는 해당 카운터 를 1 증가시킨다. * max counter 는 모든 카운터를 가장 큰 카운터의 값으로 설정 한다. * * 비어있지 않는 M개의 요소를 가진 배열 A가 주어지며 * 만약 A[K] = X, 1

CS/알고리즘 2017.04.24

[알고리즘] codility OddOccurrencesInArray 문제

문제 : N개의 정수로 구성된 배열 A가 있는데 이 배열은 홀수 개의 원소들을 가지고 있다. 그리고 딱 한 원소를 제외한, 나머지 원소들은 다른 원소와 같은 값을 가지고 짝을 이룬다. 여기서 짝을 이루지 않는 원소를 알아내라. {9,3,9,3,9,7,9} 에서는 7이 짝을 이루지 않는 원소이다. 처음에 나는 o(n)2 의 시간 복잡도를 가진 알고리즘을 작성했다. for 문을 두 번 돌려서 똑같은 숫자가 있다면 -1로 값을 바꾸고 -1이 아닌 값들을 특정 변수에 저장하도록 해서 문제를 풀었는데 시간 초과로 점수가 66점을 맞았다. o(n)2 알고리즘 밖에 생각이 안나서 결국 구글을 했는데 xor을 사용하라는 어떤 블로그를 보았다. public class OddOccurrencesInArray { publi..

CS/알고리즘 2017.04.22
반응형