CS

CS 공부

대부분의 자료는 http://www.comcbt.com/cbt/ 의 정보처리기사 필기 문제를 참고하여 작성하였다.

데이터베이스

기수(Cardinality) : 튜플의 수
차수(Degree) : 열의 수

색인 순차 파일은 순차 파일과 직접 파일에서 지원하는 편성 방법이 결합된 형태다.
색인 순차 접근 방식 (ISAM, Index Sequential Access Method)
색인 순차 파일은 기본영역, 색인 영역, 오버플로 영역으로 구성된다.

병행 제어의 목적

  • 데이터베이스의 공류를 최대화한다.
  • 시스템의 활용도를 최대화한다.
  • 사용자에 대한 응답 시간을 최소화한다.
  • 단위 시간당 트랜잭션 처리 건수를 최대화한다.
  • 데이터베이스의 일관성을 유지한다.
    [해설작성자 : 출처: http://androphil.tistory.com/335 [소림사의 홍반장!]]

중위표기법 - > 후위표기법

스택에 모든 연산자를 넣으면서 형님이 아우 위에 올라오면 그대로 넣고 그 역이면 모두 pop

후위표기법계산

연산자의 앞에 등장하는 두개의 숫자가 피연산자이다.
차례대로 앞에서부터 계산해 나가자

관계대수

1)관계대수
-관계형 데이터베이스에서 원하는 정보와 그정보를 검색하기 위해서 ‘어떻게’ 유도하는가를 기술하는 절차적언어(절차 중심)
-기존의 릴레이션으로부터 새로운 릴레이션을 생성한다
-릴레이션을 처리하기 위해 연산자와 연산 규칙을 제공

연산자 종류 : 순수관계연산자 , 일반집합연산자

관계해석

2)관계해석
-원하는 정보가 ‘무엇’이라는 것만 정의하는 비절차적언어(결과 중심)
-질의어 이용한 표현
-관계해석으로 표현한식은 관계대수로 표현 가능
-프레디킷해석에 기반
-관계 데이터 모델 제안자인 코드가 관계 데이터베이스에 적용할수 있도록 설계하여 제안
종류 : 튜플관계해석 , 도메인관계해석

출처 - http://unius.tistory.com/entry/관계대수-vs-관계해석

카르노맵

사용되는 알파벳이 4개일 때 블로그와 반대로하자
https://m.blog.naver.com/PostView.nhn?blogId=leeyunghuk1&logNo=220958708825&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

CPU 사용방식

멀티 프로그래밍: 한대의 CPU로 여러 개의 프로그램을 동시에 처리

분산처리 프로그래밍: 지역적으로 분산된 여러 대 컴퓨터 연결. 작업분담처리
일괄처리 프로그래밍: 처리할 데이터를 모았다가 한번에 처리. EX) 급여계산, 공공요금계산
리얼타임(실시간처리) 프로그래밍: 처리 데이터 발생시 바로 처리. EX) 좌석예약, 은행업무
[해설작성자 : ʕ • ᴥ •メʔ 북극곰사냥꾼]

플립플롭

http://vision.kongju.ac.kr/DigitalMain/dvlec/textbook/chap08/digital08_2.htm 참고

JK 는 SR에 11일때 토글만 추가로 지원하는것 같다.

RAM

4x2 RAM을 이용하여 16x4 메모리를 구성하고자 할 경우에 필요한 4x2 RAM의 수는?
8개
(42) * 8 = (164)
[해설작성자 : wg]

문자 데이터 표현

표준 ASCⅡ 코드는 7비트 사용, 영문 대소문자, 숫자, 문장 부호, 특수 제어 문자 표현
3개의 존 비트, 4개의 디지트 비트로 구성

문자데이터의 표현
BCD코드 : 6비트 구성(존 2, 숫자 4)
ASCII코드 : 7비트 구성(존 3, 숫자 4)
EBICIC코드: 8비트 구성(존4, 숫자4)
UNICODE: 16비트 구성 - 전 세계의 문자를 표현 할 수 있는 국제 표준 문자 코드
[해설작성자 : 석영호]

CPU 스케줄링

http://raisonde.tistory.com/entry/CPU-스케줄링-알고리즘

비선점형 스케줄링 : FCFS(FIFO), SJF, HRN, 비선점형 우선순위, 기한부
SRT 스케줄링은 수행 시간이 가장 작은 작업을 선점형으로 처리합니다.
[해설작성자 : 46200]

커널

커널의 기능은 프로세스 생성, 종료/ 기억 장치 할당, 회수/ 파일 시스템 관리 등이 있다

유닉스의 i-node

i-node에 저장되는 정보로는 파일의 소유자에 대한 정보(소유자id, 그룹id), 파일에 대한 정보(크기, 유형, 생성된 시간,링크된 참조 갯수), 시간에 대한 정보(최근 사용시간, 최근 변경시간), 파일 접근 권한, 파일이 저장된 데이터블록 주소가 있다
[해설작성자 : 희굴이]


삽입정렬

1n까지 정렬해 나감 12 정렬 12묶음 3정렬 13묶음 4정렬
첫 번째 데이터는 정렬이 되어있다고 봄. 그래서 i=0이아닌 1부터 시작.시간복잡도는 O(n^2) 이다.

  1. 가상테이블(물리적으로 구현되는 테이블이 아니다)
  2. 시스템 검색은 일반 테이블과 동일
  3. 논리적 데이터 독립성을 제공
  4. 하나의 뷰를 삭제하면 그 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제
  5. 접근 제한을 통한 보안 제공
  6. 실제 테이터가 저장되지 않는다.
  7. 독자적인 인덱스를 가질 수 없다.
  8. 뷰를 이용한 또 다른 뷰의 생성이 가능하다.
  9. 필요한 데이터만 뷰로 정의해서 처리하여 사용자의 관리가 용이
  10. 뷰는 변경이 안되어 지우고 다시 만들어야 함. <-

전위식, 후위식

1
-/*A+BCDE 를 후위식으로

쉬운 변환방법 설명
1.연산자에 따라 묶는다. (이거 못하시면 이론 다시 ㄱㄱ)
( - ( / ( * A ( + B C ) ) D ) E )

2.연산자를 각 괄호 뒤로 뺀다. (중위식으로 할때는 연산자를 문자 사이로 하시면 됩니다.)
( ( ( A ( B C ) + ) * D ) / E ) -

3.괄호를 제거한다.
A B C + * D / E -

[해설작성자 : 쀼쀼]

관계대수, 관계해석

관계대수 : 절차적 언어 / 순수 관계 연산(select, project, join, division)과 일반 집합연산(union, intersection, difference, cartesian product)
관계해석 : 비절차적 언어 / Predicate Calculus에 기반을 둠 / 튜플 및 도메인 관계해석
[해설작성자 : sdk]

관계대수(릴레이션 조작을 위한 연산의집합.기술적인특성)의 순수관계 연산자

  • 릴레이션을 처리하기 위한 연산의 집합으로 피연산자가 릴레이션이고 결과도 릴레이션이다.
  • Select : 수평적 부분집합. 시그마를 사용
  • Project : 수직적 부분집합. 파이를 이용
  • Join
  • Division : 두 릴레이션 A,B에 대해 릴레이션의 모든 조건을 만족하는 튜플들을 릴레이션 A에서 분리해 내어 프로젝션 함.

스레싱

스레싱(Thrasing)
:하나의 프로세스가 작업 수행 과정에서 수행하는 기억장치 접근에서 지나치게 페이지 폴트가 발생하여 프로세스 수행에 소요되는 시간보다 페이지 이동에 소요되는 시간이 더 커지는 현상..
오류율이 클수록 스레싱이 많이 발생한 것이고.
스래싱으로 인해 전체 시스템의 성능 및 처리율은 저하된다.
다중 프로그래밍의 어느 시점을 넘어서면 스레싱의 빈도가 높아진다.
[해설작성자 : 김은희]

[추가해설]
Thrashing 현상 방지 방법

  • 다중 프로그래밍의 정도를 적정수준으로 유지
  • 부족한 자원 증설
  • 일부 프로세스 중단
  • 페이지 부재 빈도 조절
  • 워킹 셋 유지
  • 적정프레임 수 제공
    [해설작성자 : 네비자동실행 앱 : haewon.tistory.com]

메모리 할당기법

가변분할 할당 : 다중분할 할당의 한 방법으로, 프로그램을 주기억장치에 적재할 때 함수 등 필요한 크기로 영역을 분할하는 기법
고정분할 할당 : 다중분할 할당의 한 방법으로, 주기억장치의 사용자 영역을 일정 수의 고정크기로 분할하여 사용하는 기법
오버레이 기법 : 프로그램의 크기가 주기억장치보다 클 때, 프로그램을 여러 조각으로 분할한 후 필요한 조각 순서대로 주기억장치에 적재한다. 실행중 주기억장치의 메모리가 부족하면 이미 존재하는 조각에 새로운 조각을 중첩하여 적재한다.
[해설작성자 : ck]

프로세서 상태전이

① dispatch (준비상태→실행상태)
준비 상태의 프로세스들 중에서 우선 순위가 가장 높은 프로세스를 선정하여 CPU를 할당함으로써 실행상태로 전환한다.
② timerrunout (실행상태→준비상태)
CPU의 지정된 할당 시간을 모두 사용한 프로세스는 다른 프로세스를 위해 다시 준비 상태로 되돌아간다.
③ block (실행상태→대기상태)
실행중인 프로세스가 입출력 명령을 만나면 인터럽트가 발생하여 입출력 전용 프로세서에게 CPU를 양도하고 자신은 대기 상태로 전환한다.
④ wake-up (대기상태→준비상태)
입출력 완료를 기다리다가 입출력 완료 신호가 들어오면 대기중인 프로세스는 준비 상태로 전환한다.
[해설작성자 : ㅁㄴㅇㄹ]

페이지 교체기법

<문제 해설>
NUR (Not Used Recently)

  • 최근 사용하지 않은 페이지 교체
  • 최근 사용여부를 확인하기 위해(시간 오버헤드를 줄이기 위해), 각 페이지마다 참조/변형비트 사용
  • 교체순서 : 00 - 01 - 10 - 11 (0 : 참조비트, 1 : 변형비트)
    [해설작성자 : 비슷한문제 해설에서 따옴]

페이지 교체 기법 - 새 데이터를 주기억장치에 등록할 때
공간이 부족할 경우 먼저 있던 데이터를 빼고 넣는 행위를 말함.

FIFO - 제일 오래된 데이터 제거
LFU - 가장 적게 사용 되었던 데이터 제거
LRU,NUR - ‘최근’ 가장 적게 사용되었던 데이터 제거
OPT - 앞으로 가장 적게 사용될 것 같은 데이터를 예측하여 제거(신뢰성 떨어짐)

브룩스 법칙

브룩스(Brooks)의 법칙 : 소프트웨어 개발 일정이 지연된다고 해서 말기에 새로운 인원을 투입하면 작업 적응 기간과 부작용으로 인해 일정은 더욱 지연된다는 법칙이다.
[해설작성자 : strawsoojin]

결합도의 약한 순서

데이터 -> 스템프 -> 제어 -> 공통 -> 컨텐츠 결합도 순서
[해설작성자 : 원동민]

전송제어 문자

  1. SOH(Start Of Heding) : 헤딩 시작
  2. STX(Start of Text) : 본문 시작, 전송할 데이터 그룹의 시작
  3. SYN(Synchronous idle) : 동기 문자
  4. DLE(Data Link Escape) : 데이터 투과성을 위해 삽입(전송 제어 문자와 전송 데이터 구분을 위해 사용)
    [해설작성자 : 실기도 화이팅!]
Share