| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 갭체크
- 1일1코테
- 코딩테스트준비
- 자바스크립트
- 프로그래머스
- 코딩테스트사이트추천
- 99클럽
- 플로이드-워셜
- 코드트리
- 웹
- 개발자루틴
- Java
- #코드트리 #코딩테스트 #코테공부 #백트래킹 #알고리즘 기초
- 코딩테스트
- 개발자취업
- 코테공부
- 데이터베이스
- 파이썬
- 오블완
- C
- 인접 행렬
- 프로그래밍 언어
- 알고리즘
- 티스토리챌린지
- 운영체제
- 자료구조
- 연결 리스트
- 자바
- til
- 항해99
- Today
- Total
목록CS (22)
와드의 블로그
1. 스케줄링의 개요 1-1. 프로세스 스케줄링과 CPU 스케줄링 프로세스의 상태 전환을 관리하는 것을 프로세스 스케줄링이라고 한다. 프로세스 스케줄링은 규모에 따라 세 가지로 나눌 수 있다. ① 고수준 스케줄링 고수준 스케줄링(long-term scheduling)은 가장 큰 틀에서 이루어지는 스케줄링으로 시스템 내의 전체 작업 수를 조절하는 것이다. 생성 상태의 프로세스를 준비 상태로 전환하는데 관여한다. 고수준 스케줄링은 멀티프로그래밍의 정도를 결정한다. ② 저수준 스케줄링 저수준 스케줄링(short-term scheduling)은 어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정한다. 즉, 저수준 스케줄링이 CPU 스케줄링이다. ③ 중간 수준 스케줄링 중간 수준 스..
1. 프로세스의 개요 1-1. 프로세스의 개념 프로그램은 저장장치에 저장되어 있는 정적인 상태이고, 프로세스는 실행을 위해 메모리에 올라온 동적인 상태이다. 프로그램이 프로세스가 될 때 프로그램이 실행되는데 필요한 정보들을 포함한 프로세스 제어 플록이 만들어진다. 프로세스는 프로그램의 코드와 프로세스 제어 블록을 모두 포함한 자료구조이다. 1-2. 프로세스의 처리 ① 일괄 처리 방식 가장 간단한 프로세스 처리 방법은 일괄 처리 방식이다. 일괄 처리 방식은 한 번에 하나의 프로세스만 처리하는 것으로, 하나의 프로세스가 끝날 때까지 다른 프로세스는 실행할 수 없다. ② 시분할 방식 일괄 처리 방식으로 프로세스를 처리하는 것은 비효율적이다. 시분할 방식은 CPU 자원을 적절히 배분하여 여러 프로세스를 동시에 ..
1. 관계 데이터 모델의 개념 (1) 관계 데이터 모델의 기본 용어 관계 데이터 모델에서는 하나의 개체에 관한 데이터를 릴레이션 하나에 담아 데이터베이스에 저장 릴레이션은 관계 데이터 모델에서 정보를 구분하여 저장하는 단위로 테이블 형태임 ① 속성 속성(attribute): 릴레이션의 열 ② 튜플 튜플: 릴레이션의 행 릴레이션에서 튜플은 인스턴스에 대응됨 ③ 도메인 도메인: 속성 하나가 가질 수 있는 모든 값의 집합 관계 데이터 모델에서는 속성 값으로 더는 분해할 수 없는 원자 값만 사용 특정 속성의 도메인은 가능한 값을 일일이 나열하기 어려워서 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의 ④ 널 값 릴레이션에 있는 특정 튜플의 속성 값을 모르거나, 적합한 값이 없는 경우에는 널 값을 사용 ⑤ ..
1. 데이터 모델링과 데이터 모델의 개념 (1) 데이터 모델링 데이터 모델링: 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정 추상화: 데이터 모델링에서 현실 세계의 데이터 중 필요한 데이터만 선별하는 것 데이터 모델링은 개념적 모델링과 논리적 모델링으로 나뉨 개념적 모델링: 현실 세계의 데이터를 추상화를 통해 개념 세계로 옮기는 작업 논리적 모델링: 개념 세계의 데이터를 데이터베이스에 저장할 구조를 결정하고 이 구조로 표현하는 작업 (2) 데이터 모델 데이터 모델: 데이터 모델링의 결과물을 표현하는 도구 개념적 데이터 모델과 논리적 데이터 모델이 있음 개념적 데이터 모델: 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 데이터 모델링하여 데이터베이스의 개념적 구조로 표현..
1. 데이터베이스 시스템의 정의 데이터베이스 시스템: 데이터베이스에 데이터를 저장하고, 저장된 데이터를 관리하여 조직에 필요한 정보를 생성해 주는 시스템 데이터베이스 시스템의 구성: 데이터베이스 + 데이터베이스 관리 시스템 + 사용자 + 데이터 언어 + 컴퓨터 2. 데이터 베이스의 구조 (1) 스키마 스키마: 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것 인스턴스: 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값 보통 스키마는 한 번 정의되면 자주 변경되지 않지만, 인스턴스는 계속 변함 (2) 3단계 데이터베이스 구조 ① 3단계 데이터베이스 구조의 개념 3단계 데이터베이스 구조는 하나의 데이터베이스를 외부, 개념, 내부 단계로 나누고, 각 단계별로 다른 추상화를 제공 내부 단계에서 외부..
1. 컴퓨터의 기본 구성 1-1. 하드웨어의 구성 컴퓨터는 CPU, 메모리, 버스, 입력 장치, 출력 장치, 저장 장치로 구성된다. CPU, 메모리, 버스는 컴퓨터의 필수 장치이고 나머지를 주변 장치라 한다. CPU: CPU는 명령어를 해석하여 실행하는 장치이다. 메모리: 작업에 필요한 프로그램과 데이터를 저장하는 장소이다. 버스: 데이터들이 지나다니는 통로이다. 입력 장치: 외부의 데이터를 컴퓨터로 입력하는 장치이다. 출력 장치: 컴퓨터에서 처리한 결과를 사용자가 원하는 형태로 출력하는 장치이다. 저장 장치: 저장 장치는 메모리보다 느리지만 저렴하고 용량이 크며, 전원 온오프와 상관없이 데이터를 영구히 저장한다. 메인보드: CPU와 메모리 등 다양한 부품을 연결하는 판으로 다양한 부품이 버스로 연결된다..
1. 데이터베이스 관리 시스템의 등장 배경 (1) 파일 시스템 파일 시스템: 데이터를 파일로 관리하는 정보 처리 시스템 파일을 생성·삭제 ·수정 ·검색하는 기능을 제공 운영체제와 함께 설치 -> 별도의 구매 비용 X 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리 (2) 파일 시스템의 문제 데이터 중복성: 같은 데이터가 여러 파일에 저장 데이터 종속성 데이터 파일에 대한 동시 공유, 보안, 회복 기능 부족 응용 프로그램 개발의 어려움: 파일의 데이터를 관리하는 모든 작업을 응용 프로그램이 담당 2. 데이터베이스 관리 시스템의 정의 (1) 데이터베이스 관리 시스템 데이터베이스 관리 시스템(database management system): 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이를 ..
1. 운영체제 소개 1-1. 운영체제의 필요성 초기의 컴퓨터는 정해진 계산만 수행했기 때문에 특별한 사용 규칙이 필요 없었다. 그러나 메모리, CPU 등의 성능이 향상되고, 여러 작업을 동시에 할 수 있는 컴퓨팅 환경이 조성되면서 사용 규칙이 필요해졌다. 복잡한 작업 환경에 규칙이 없으면 기계를 망가뜨릴 수도 있기 때문에 등장한 것이 운영체제이다. 1-2. 운영체제의 정의 운영체제는 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어이다. 운영체제는 응용 프로그램이나 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공하고 그 결과를 돌려준다. 그리고 응용 프로그램이나 사용자에게 몯느 컴퓨터 자원을 숨기고 정해진 방법으로만 컴퓨터 자원을 사용할 수 있도..
1. 데이터베이스의 필요성 (1) 데이터와 정보 데이터(=자료): 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값 정보: 데이터를 의사 결정에 유용하게 활용할 수 있도록 처리하여 체계적으로 조작한 결과물 정보 처리: 데이터에서 정보를 추출하는 과정 또는 방법, 데이터를 상황에 맞게 분석하거나 해석하여 데이터 간의 의미 관계를 파악 (2) 정보 시스템과 데이터베이스 정보 시스템: 조직 운영에 필요한 데이터를 수집하여 저장해 두었다가 의사 결정이 필요할 때 처리하여 유용한 정보를 만들어주는 수단 정보 시스템 안에서 데이터를 저장하고 있다가 필요할 때 제공하는 핵심 역할을 데이터베이스가 담당 2. 데이터베이스의 정의와 특징 (1) 데이터베이스의 정의 데이터베이스(DB): 특정 조직의 여러 사용자가..
※ 해당 글은 C언어에 대한 이해를 필요로 합니다. C 언어에 대해 알고 싶으신 분들은 다음 글을 참고하세요 https://ward.tistory.com/category/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EC%96%B8%EC%96%B4/C '프로그래밍 언어/C' 카테고리의 글 목록 ward.tistory.com (1) 빠른 탐색을 보이는 해쉬 테이블 * 테이블 자료구조의 이해 테이블은 키와 값이 하나의 쌍을 이루는 형태로 데이터를 저장한다. 테이블을 이용하면 단번에 탐색 대상을 찾을 수 있다. 즉 탐색의 시간 복잡도가 O(1)이다. * 배열을 기반으로 하는 테이블 #include typedef struct { int empNum; int age; }E..