쉘의 구성 root@e7f17962cb98:/home/ubuntu# root: 사용자 이름@e7f17962cb98: 호스트 이름/home/ubuntu: 현재 디렉토리#: 사용자 구분, $는 일반 사용자, #은 루트 사용자. 파일(* File) 리눅스는 모든 것을 파일로 취급합니다. 컴퓨터의 연결되는 장치(* device)또한 파일로 취급합니다.숨김 파일은 .(* dot)으로 시작합니다. 예를 들어 .hidden_file은 숨김 파일입니다. 디렉토리(* Directory) 윈도우의 폴더의 개념과 같습니다./: 최상위 디렉토리, 절대경로의 시작점/root: root 계정의 홈 디렉토리/home: 일반 사용자 계정의 홈 디렉토리디렉토리 경로는 slash(/)로 구분하여 계층적으로 표현합니다. 이때 경로를 표현..
Software Process Software process is a structured set of activities required to develop a software system.소프트웨어 프로세스는 소프트웨어 시스템을 개발하는데에 필요한 활동들의 구조화된 집합입니다. Many different software processes but all involve:많은 소프트웨어 프로세스들이 다르지만 모두 아래의 것들은 포함합니다:Specification: defining what the system should doDesign and implementation: defining the organization of the system and implemention the systemValidation..
Fundamentals of Software Engineering Fundamental principles applicalbe to all types of software system, irrespective of the development techniques used:개발 테크닉과 관계없이 모든 종류의 소프트웨어 시스템에 적용가능한 기본 원칙은 아래와 같습니다: "System should be developed using a managed and understood development process. Of course, different processes are used for different types of software."시스템은 이해 가능하고 관리되는 개발 프로세스에 의해 개발되어야합니다...
Compilation Process Processing phase원본 C프로그램을 '#'으로 선언된 경로에 따라 수정하는 단계.(* .c → .i 확장자) Compilation phaseC프로그램을 어셈블리 언어 프로그램으로 번역하는 단계.(* .i → .s 확장자) Assembly phase어셈블리 언어 프로그램을 기계어 프로그램으로 번역하는 단계.(* .s → .o 확장자) Linking phase실행 파일을 만들기 위한 필수적인 객체들을 병합하는 단계. printf.o와 같은 객체들을 병합하는 단계입니다.(* .o → .exe 확장자) 위 단계를 그림으로 보면 다음과 같습니다: GNU Compiler Collection(* GCC) GCC를 통해 컴파일 시킬 수 있습니다.파일안에 p1.c와 p2...
0. 2024.06.09 - [학교 수업/자료구조 및 알고리즘] - 자료구조 및 알고리즘 #14 - Union-Find (Disjoint Set) and an Application 자료구조 및 알고리즘 #14 - Union-Find (Disjoint Set) and an Application1. an Application Union-Find 를 알아보기 전에 이것을 언제 사용하는지를 먼저 파악하는 것이 좋아보입니다. MST(* Minimum Spanning Tree), 최소신장트리는 Spanning Tree 중에서 사용된 간선들의 가중치 합이 최hw-hk.tistory.com위 글에서 Greedy Algorithms인 Kruskal algorithms을 통해 MST를 구하는 문제를 본 적이 있습니다. 1..
Zombies 프로세스가 종료됐지만, 여전히 시스템의 자원을 소비하는것.이때, 시스템의 자원은 PCB(* Process Control Block)이다. 해당 프로세스를 관리할 수 있는 정보들을 담고 있는 정보들로 운영체제 커널의 자료구조입니다.https://jwprogramming.tistory.com/16 PCB(Process Control Block)란?OS의 기본. Process Control Block(PCB)입니다. - 프로세스 제어 블록(Process Control Block, 줄여서 PCB)은 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는, 운영체제 커널의 자료구조입니다. PCB는 운jwprogramming.tistory.com 해당 PCB에는 PID가 있기 때문에, Zombie가 계..
Typical Activities in Software Engineering Software Specification(= Requirement Engineering): Customers and engineers define the software to produce and constraints on its operation.소비자나 공학자가 해당 소프트웨어의 제약이나 조건들을 정의하는 단계입니다. SRS라고 불리는 System Requirement Specification 혹은 Software Requirement Specification이나 여러가지 Hardware Specification, 이전 글에서 말했던 여러가지 품질 속성들을 정의합니다. Software Development: The softw..
Software Engineering Software engineering is concerned with theories, methods and tools for professional and cost-effective software development.(* 소프트웨어 공학은 전문적이고 효율적인 소프트웨어 개발을 위한 이론들이나 방법론들, 도구들을 다루는 학문입니다.) Software costs is more to maintain than to develop(* 소프트웨어는 비용은 개발보다 유지 보수에 더 든다.) 여기서 cost-effective는 금전적인 비용뿐 아니라 인적자원의 비용등 여러가지 요소들을 포함하는 개념입니다. Software Quality Attributes라고 불리는 품질 속성..