전체 글(117)
-
운영체제-5
생산자-소비자 문제 두 협력 프로세스 사이에 버퍼를 두고 생산자와 소비자의 상황을 다루는 문제 생산자 : 데이터를 넣는 프로세스 소비자 : 데이터를 꺼내는 프로세스 버퍼 : 데이터를 임시로 저장 하는 곳 버퍼에 여러 프로세스가 동시에 접근할 수 없다 버퍼에 데이터를 넣는 동안 데이터를 꺼내지 못함 데이터를 꺼내는 동안 데이터를 넣지 못함 *상호배제 필요 버퍼의 크기가 유한하다. 버퍼가 풀인 경우 생산자는 대기해야한다 버퍼가 널인 경우 소비자는 대기해야한다. *동기화 필요 세마포어를 이용한 해결 생산자의코드 while(true){ 데이터 생산 p(empty); p(mutex); 데이터 insert v(mutex); p(full); //버퍼에 데이터 증가 } 소비자의코드 while(true){ p(full)..
2023.04.28 -
함수와 기억클래스
함수 개념 특정한 작업(기능)을 수행하도록 설계된 독립적인 프로그램 특성 함수 글은 서로를 자유로이 호출 가능 모든함수는 서로 독립적 장점 프로그램 수정이 용이하다 함수 재사용으로 코드 중복 최소화 기능을 한눈에 파악하므로 유지관리가 쉬워짐 표준함수 c언어에서 제공 하는 함수 main() 함수 안에 표준함수를 사용하는 형태 원형은 헤더파일에 정의 실체는 라이브러리 파일에 수록 사용 하려면 선언되어 있는 헤더파일을 #include 해야함 사용자 정의 함수 사용자가 정의 하여 사용 하는 함수 사용하기 위해서는 함수의 원형선언, 함수의 호출, 함수의 정의로 구성 됨 함수는 변수와 같이 사용되기 전에 미리 선언 해야함 함수의 원형선언은 일반적으로 main()함수 이전에 선언 구조 반환자료형 함수명 (자료형 변수..
2023.04.26 -
SQL
SQL(Structured Query Language) 관계대수에 기초하여 RDBMS의 데이터 관리를 위해 설계된 언어 1986년 ANSI, 1987sus ISO에서 표준으로 제정 비절차적(선언형) 언어, 필요한 데이터만 기술 인간의 언어와 매우 유사하고 간단, 명료 데이터정의 언어 DDL(Data Definition Language) 데이터베이스 내에 객체(table, index, view, schema) 생성 및 삭제 구조 조작 명령어 데이터가 준수해야 하는 제약조건 기술 create, alter, drop 등 schema,스키마 = 데이터베이스 한 조직의 데이터베이스 시스템의 운영에 필요한 테이블,인덱스, 뷰 등의 데이터 베이스 객체 집합 ex) create schema 스키마 이름 drop sch..
2023.04.05 -
운영체제-4
병행 프로세스 개요 병행성(concurrency) 여러개의 프로세스 또는 쓰레드가 동시 수행되는 시스템 병행 프로세스 동시에 수행되는 여러개의 프로세스 또는 쓰레드 1개의 cpu: 인터리빙 형식 여러개의 cpu: 병렬처리 형식 멀티프로세서 시스템에서의 메모리 구조에 따라 강결합 시스템(공유 메모리 구조), 약결합 시스템 프로세스간의 관계 독립 프로세스 수행중인 다른 프로세스에 영향을 주지도 받지도 않음 데이터 및 상태를 다른 프로세스와 공유하지 않음 프로세스의 실행 결정적: 실행 결과는 입력에 의해서만 결정 재생가능 : 같은 입력에 대해 항상 동일한 실행 결과 협력 프로세스 수행중인 다른 프로세스와 영향을 주고 받음 데이터 및 상태를 다른 프로세스와 공유 프로세스 의 실행 비결정적: 실행 결과는 실행 순..
2023.04.05 -
제어문
제어문 프로그램 언어 제어 구조 - 순차적 제어 특별한 지정이 없는 한 위에서 아래로 수행 선택정 제어 주어진 조건에 ᄄᆞ라 특정부분으로 수행을 옮기는 분기 제어 구조 반복적 제어 특정 부분을 일정한 횟수만큼 반복 수행 하는 반복 선택 if(조건){ 조건이 true일 경우 실행 } if(조건){ 조건이 true일 경우 실행 } else { 조건이 false일 경우 실행 } if(조건1){ 조건1이 true일 경우 실행 if(조건2){ 조건2이 true일 경우 실행 } else { 조건2이 false일 경우 실행 } } else { 조건1이 false일 경우 실행 } if(조건1){ 조건1이 true일 경우 실행 } else if(조건2) { 조건2이 true일 경우 실행 } else if(조건3) { 조..
2023.04.03 -
연산자
산술 + - * / % ++ -- 피 연산자에 대해 사칙연산을 포함한 각종 산술 연산을 수행 관계 > = 2) ? 1 : 0; 조건 ? 참 :거짓 비트 & | ^ ~ > 수치에 대해 bit단위 연산을 수행 기타 sizeof(자료)= 자료의 공간의 크기(byte)를 구함 cast=자료형을 강제로 다른자료형으로 변경 &= 연산자의 주소 *= 연산자의 내용 표현 우선순위 연산자명 연산자 결합방향 우선순위 괄호, 구조체, 공용체 연산자 () [] -> . 좌 -> 우 높음 ↑ ↓ 낮음 단항 연산자 ! ~ ++ == & * sizeof() cast 우 -> 좌 이항 연산자 곱,나누기,나머지 * / % 좌 -> 우 더하기,뺴기 + - 좌 -> 우 비트이동 > 좌 -> 우 대소비교 = 좌 -> 우 등가판정..
2023.04.03