Computer Science
-
-
프로세스 생성Computer Science/OS 2023. 12. 17. 01:51
CreateProcess lpCommandLine : main 함수에 전달 되는 인자, 두번째 전달인자 실행 파일 이름→ 실행파일이름 표준 검색 경로 기준 서치 lpProcessInformation : 프로세스 정보 Get 커널 오브젝트와 핸들 관련 데이터 lpCUrrentDirectory : 생성 프로세스 현재 디렉터리, NULL 부모 디렉터리 StartupInfo : 프로세스 속성 지정 프로세스 생성 단계 StartupInfo 구조체 변수 초기화 현재 디렉터리 설정 CreateProcess 함수 호출
-
5장 프로세스의 스케줄링과 상태 변화Computer Science/OS 2023. 12. 17. 01:32
프로세스의 스케줄링(Scheduling) Cpu → 여러개 프로그램 스위칭 실행 스케줄링 기본 원리 스케줄링(Scheduling) : 프로세스 CPU 할당 순서 및 방법을 결정 짓는 일 스케쥴링 알고리즘 : 이 때 사용되는 알고리즘 스케쥴러 : 알고리즘 적용 실제 프로세스 관리 운영체제 요소(모듈) 멀티 프로세싱 A 프로세스 → I/O 작업 CPU → B 프로세스 실행 (CPU 계속 동작) 프로세스 상태 변화 Start→ Ready 실행 중인 프로세스 → 생성 프로세스 대기 Ready 상태 → Running 스케쥴러 → Ready 상태 프로세스 → 아록리즘 → Running Running → Ready A > B 우선순위 B Running A 생성 B Ready A Running Running → Blo..
-
5장 프로세스Computer Science/OS 2023. 12. 17. 01:24
프로세스란? block.exe 실행 → 메모리 할당(RAM 가정) → 바이너리 코드 로드 → 프로세스 실행 중에 있는 프로그램 프로세스를 구성하는 요소 Data 영역 : 전역변수, Static 변수 Stack 영역 : 지역변수, 함수 호출 시 전달되는 인자값 Heap 영역 : 동적 할당 영역 https://dsnight.tistory.com/51 [C] malloc, calloc, realloc을 이용한 메모리 동적 할당 동적할당을 사용하는 이유는 무엇일까? c언어의 메모리 구조에 대해서 알고 있다면 동적할당을 사용하는 이유를 쉽게 알 것이다. 2014/06/26 - [Programming/C언어] - [C] 스택(Stack), 힙(Heap), 데이터(Data) dsnight.tistory.com Reg..
-
1장 프로그램 실행과정Computer Science/OS 2023. 12. 17. 01:04
도식도 전처리기에 의한 치환작업 : # 시작 지시자 소스코드 변경 컴파일러에 의한 번역 : 어셈블리 코드 번역 어셈블러에 의한 바이너리 코드 생성 : 바이너리 코드 번역 링커에 의한 연결과 결합 : 프로그램 내에서 참조하는 함수나 라이브러리들을 하나로 묶는 작업 프로그램 실행 과정 명령어 실행 단계 Fetch : 메모리 명령어 → CPU Bus 데이터 통신 경로 Decode : CPU 명령어 해석 Control Unit 명령어 저장 장치 : 레지스터(IR(Instruction Register)) Excution : CPU 실행 ALU (Arithmetic Logic Unit) PC : 다음에 가져와야 할 명령어가 어디에 존재하는지 그 메모리 주소를 기억하기 위한 용도 Bus 데이터 버스(Data Bus)..
-
1장 컴퓨터 구조에 대한 첫 번째 이야기Computer Science/OS 2023. 12. 17. 01:00
컴퓨터 구조 컴퓨터 시스템의 주요 구성요소 컴퓨터 구조 CPU ALU 실제 연산 담당 덧셈 뺄셈 (산술 연산) AND OR (논리 연산) Control Unit 명령어를 해석 ALU 32비트 2진수 명령어 해석 불가 CPU 내부에 존재하는 레지스터들 CPU 내부임시 데이터 저장 공간 2진 데이터 버스 인터페이스 버스 데이터 프로토콜 혹은 통신 방식을 안다. I/O 버스 송신/수신 클록 장치 연산 장치 출력 장치 처리 속도 상이, 클록 주파수 이용 동기화 Main Memory RAM이라는 저장장치로 구성되는 메인메모리 컴파일이 완료된 프로그램 코드가 올라가서 실행되는 영역 Bus 데이터를 주고 받기 위해 사용되는 경로 주고 받는 데이터의 종류와 역활에 따라서 어드레스 버스, 데이터 버스, 컨트롤 버스 이렇..
-
ASPICE 소프트웨어 요구사항 분석Computer Science/ASPICE 2023. 12. 7. 12:51
SW 컴포넌트 사양서를 전달받고 갑자기 ASPICE를 적용한 요구사항서를 작성하라는 요청을 받았다. ASPICE 관련 문서를 보면 SWE.1에 해당하는 내용이다. 즉 요구사항을 분석하면서 나중에 SWE.3을 진행하면서 개발 내용이 SWE.1에서 제작한 분석 사항을 잘 지켰는지 확인을해야한다. 레벨 수준은 1 이행된 프로세스가 프로세스 목적을 달성하도록 하자. ISO/IEC 33020에 따른 등급 척도를 보면 L 등급을 달성 할 수 있도록하자. 작업 산출물에 대한 리뷰와 해당 작업에 대한 관리자의 진술로부터 프로세스 평가가 이루어진다. 프로세스 수행 지표는 기본 사례(BP)와 작업 산출물(WP)로부터 돌출되는데 프로세스에 대한 구체적인 작업 산출물과 문서의 실제 구조, 형식, 내용이 조직간의 결정에 의해 ..
-
[백준, 백트래킹] 연산자 끼워넣기Computer Science/백준 Boj 2023. 11. 6. 17:22
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱 www.acmicpc.net 접근법 DFS로 풀이하고, 두번째 줄에 주어지는 입력의 수 만큼 연산이 완료되면 최소값과 최대값을 비교한다. 이 때 최솟값은 -10억 미만이 될 수 없으므로 10억, 최댓값은 10억을 초과 할 수 없으므로 -10억으로 초기화한다. 풀이 위의 그림 같이 연산자를 앞에 것 부터 순차적으로 번갈아가며 사용했다. 예를들면 깊이가 1일 때 '+',..