반응형

이론공부 6

소프트웨어 공학 (Chapter 01 ~ Chapter 02)

[ 1. An Introduction to Software Engineering ] [ Software Engineering ] - 소프트웨어는 전문적이고 비용적으로 효율적인 소프트웨어 개발을 위한 이론, 방법론, 도구론들과 관련되어 있음 - 대부분, 더 많은 시스템들은 컨트롤된 소프트웨어임 - 선진국들은 소프트웨어에 의존함 - 소프트웨어 코스트들은 자주 컴퓨터 시스템 비용을 지배함 - 소프트웨어를 유지하는 비용이 개발하는 비용보다 많이듦 [ 소프트웨어 제품의 종류 ] - Generic Software : 이를 사고 싶은 어떤 사용자들에게든 팔림, 소프트웨어 명세서는 소프트웨어 개발자로부가 소유함 - Custom Software : 특정 소비자들의 니즈를 충족시키기위해 해당 소비자들에게만 판매되는 소프트..

운영체제 (OS) - Chapter 05

● Chapter 05의 목표- 다중 프로그램 운영 체제기반의 CPU 스케줄링에 대해 설명 - CPU 스케줄링에 사용되는 다양한 알고리즘 대해 설명 - 특정 시스템을 위한 CPU 스케줄링 알고리즘을 선택하는 데 사용되는 기준에 대해 설명명 - 운영체제에서 사용되는 스케줄링 알고리즘에 대해 설 ● Basic Concepts- CPU 사용성을 최대화하려면 해당 CPU를 필요로 하는 프로세스들이 여러개가 있어야함 (멀티프로그래밍 형태) - 프로세스 실행은 CPU 실행과 I/O 대기의 처리로 구성됨 - 프로세스의 실행은 CPU 버스트로 시작한 다음 I/O 요청 작업을 실행함 ● Histogram of CPU-burst Times- burst duration : CPU를 사용한 시간 - frequency: CPU..

운영체제 (OS) - Chapter 04

● Chapter 04의 목표- 다중 프로그램 운영 체제기반의 CPU 스케줄링에 대해 설명 - 멀티스레드 컴퓨터 시스템의 작동에 필수적인 CPU 활용의 기본 단위인 쓰레드에 대해 설명 - Pthreads(POSIX 스레드), Windows, Java를 포함한 다양한 환경에서 쓰레드 관리를 위한 API에 대해 설명 - 암시적 스레딩을 지원하는 다양한 방법 지원하는 몇몇 쓰레드 전략들에 대해 설명 - 멀티스레드 프로그래밍에서 흔히 발생하는 문제들에 대해 설명 - Windows 및 Linux와 같은 운영 체제가 쓰레드에 대해 지원하는 서비스들에 대해 설명 ● Motivation- 대부분의 현대 애클리케이션들은 멀티스레드로 구성됨- 쓰레드는 애플리케이션 안에서 실행됨 - 애플리케이션에서 다중작업은 각 작업들을 ..

운영체제 (OS) - Chapter 03

● Chapter 03의 목표- 프로세스의 개념에 대해 설명하기, 프로세스란 모든 계산의 기반을 형성하는 실행 중인 프로그램임 - 프로세스의 특징을 설명하기, 프로세스의 일정, 생성 및 종료, 통신 측면이 포함. - 공유 메모리와 메시지 전달을 사용하는 프로세스 간 통신 살펴보기 - 클라이언트-서버 통신을 설명하기 ● Process Concept- OS는 매우 다양한 프로그램들을 실행하며, 프로그램은 일괄 처리 시스템에서 작업으로 그룹화되거나, 시간 공유 시스템에서 사용자 프로그램이나 작업으로 그룹화됨 - 교재는 job과 proces라는 용어를 사용 - 교재는 프로세스를 실행 중인 프로그램으로 정의함 - 프로세스가 그저 어떤 프로그램이 아니라는 것을 강조함 [프로세스의 구성요소들] - 텍스트 섹션이라고 ..

운영체제 (OS) - Chapter 02

● Chapter 02의 목표- OS가 사용자, 프로세스, 다른 시스템들에 제공하는 서비스에 대해 설명 - OS를 구성하는 다양한 방법들에 대해 설명 - 어떻게 OS가 설치되고 커스텀화되며, 부팅되는지 설명 ● Operating System Services- OS는 사용자들과 프로그램들에 대한 서비스와 프로그램을 실행할 수 있게하는 환경들을 제공해줌 - OS 서비스들중의 한 세트는 유저를 도와주는 기능들을 제공함 - User Interface (UI): 대부분의 OS는 User Interface를 가짐 ---> Command-Line-Interface (CLI), Graphics User Interface (GUI), Batch 등이 대표적 - Program execution: 시스템은 반드시 하나의 프..

소프트웨어 공학 (3주차)

● 소프트웨어 공학에서의 기본 원칙들 (Fundamentals) - 개발 프로세스: 소프트웨어는 잘 정의되고 이해되는 개발 프로세스를 활용하여 개발되어야 함 ex) SDLC ( Software Developer  Life cycles : 소프트웨어 개발 생명 주기),  Agile 방법론, DevOps 관행 등등의 개발 프로세스들이 존재 - 소프트웨어 품질: 신뢰성 (dependability) 와 성능(performance)는 모든 시스템에 필수적으로 보장되어야 하며, 다양한 조건에서도 안정적으로 좋은 퍼포먼스를 보여 신뢰성이 보장되어야함 - 요구공학:  '요구 공학'을 활용하여 사용자들의 요구사항들이 제대로 소프트웨어가 충족시키는 중인지 확인하고 관리할 수 있어야 하며, 변화하는 사용자들의 니즈들을 충족..

반응형