분류 전체보기 532

[OS] OS service / structure / Debugging

* Operating System Service ※ GUI(in user interface)는 OS의 자체 시스템이 될 수도 있다.(OS마다 지원 방식이 다르다.) ⓐ User Service - Program execution(프로그램 실행) > 프로그램을 메모리에 적재하여 실행하고, 프로그램을 정상 또는 비장상 적으로 끝내는 역할을 담당한다. - I/O Operation(입출력 동작) - File System(파일 시스템 조작) > 파일을 정확히 읽고, 쓰며 파일 이름으로 파일을 생성 및 삭제가 가능해야한다. - Communication(통신) > 프로세스간 통신을 원활하게 해줘야 한다. - Error Detection(오류 검사) > 운영체제는 가능한 모든 오류를 검사하여 알려줘야 한다. ⓑ Syst..

[OS] Basic

* Processor System ⓐ Single-Processor System - 프로세스 타입은 하는 일에 따라서 나눠진다. > General-purpose processor : 일반적인 프로세서로 CPU를 말한다. > Special-purpose processor : 특수 목적의 프로세서로 키보드, 디스크등을 컨트롤해주는 프로세스 > 대부븐의 컴퓨터는 하나의 General-purpose processor와 다수의 special-purpose processor를 가지며 이를 통틀허 Single-Processor System이라고 한다. ⓑ Multiprocessor System - General-purpose processor가 여러개 있는 것을 의미한다. - 단위 시간당 할 수 있는 일이 증가하는 ..

[OS] 기초

* 프로세스 - 중앙처리장치로 전원이 켜지면 메모리의 첫부분을 읽어서 실행시킨다. - 프로세스의 구조 > Control Unit : 명령어를 해석하는 명령어 해석기, 제어 로직으로 구성됨 > ALU(Arithmetic and Logic Unit) : 산술연산 및 논리 연산을 수행하며 레지스터라는 메모리를 가짐 > Registers : ALU의 산술, 논리 연산을 위한 저장장소. ⓐ General register : 프로그램, 데이터 처리를 위한 레지스터 ⓑ Stack register, Program Counter register : 프로그렘 제어 및 프로세서 제어 레지스터 ⓒ status register : error를 체크하는 레지스터 ⓓ Instruction register : 데이터 어드레싱, 데이..

[네트워크] Application Layer / FTP / E-mail / P2P / DNS

* Application Layer - 연구목적을 위해서 Network는 처음에 탄생을 하였다. 이에 따라 Telnet기능과 FTP기능이 가장먼저 구현되었다. ⓐ Telnet > remote login, 원격접속, rlogin으로 불린다. > 하나의 대형 컴퓨터의 에플리케이션을 나눠서 사용하기 위해서 탄생하였다. ⓑ FTP > File 전송 시스템 - OS의 일부로 telnet과 FTP기능을 제공해 주었으며, 부가 기능인 e-mail과 browser는 별도 구매해야 했다. * FTP(File Transfer Protocol) - FTP를 위해서 사용되는 TCP > FTP Client가 FTP server에 연결하면, FTP server를 조정 할 수 있는 port 21번이 열린다. > FTP Client..

[하드웨어] Combinational Circuit Part 2

* Priority Encoder Hardware(우선 순위 회로) - 우선순위가 가장 높은 것으로 회로를 실행한다. ex) Priority A>B>C * Don't care - In Truth table(진리표 안에서!) Truth table을 축소화. - X 로 표시하며 0이든 1이든 아무거 나 들어와도 회로가 결정될때 사용한다. ex) 이를 이용해서 위의 진리표를 줄여보면... * Bubble Pushing - 회로의 Cost를 낮추기 위해서 ( OR,AND 게이트를 NOR, NAND로 변경) - 회로의 이해를 높이기 위해서 ( NOR, NAND 게이트를 OR, AND로 변경) - 버블 개념은 이전(Part 1)에서 설명했으므로 넘어가며, 버블을 줄이는 법을 보겠다. > Output 에서 input..

[소프트웨어공학론] Process activities

* Process activities - 기술적 행동(technical activities), 관리적 행동(managerial activities), 통합적 행동(collaborative activities) 함께일어난다. - 4가지의 기본적 프로세스 엑티비티가 존재한다. > specification, development, validation, evolution - 4가지의 기본 프로세스 엑티비티는 다음과 같은 두가지 방법으로 이뤄진다. ⓐ waterfall : 연속적 형태로 발생한다. ⓑ incremental : Interleaved(다음 과정이 이전 과정과 겹침)형태로 발생한다. ex) * Software specification(소프트웨어 명세) - 무슨 서비스를 할 것인가? 이에 필요한 기능이 ..

[소프트웨어공학론] Process Activity evolution - Reducing the Cost

* Prototype - prototype방식은 Change avoidance유형의 진화 방법이다. - 보고 제품에 대한 느낌을 느낄 수 있는 시연 가능한 겉 껍데기를 만든다. - 프로토타입을 사용하는 때 > 요구사항을 이끌어 낼때 > UI를 만들 때 > 모듈 실험시 다른 모듈에서 오는 값을 생성할 때 - 프로토타입 사용시 장점 > 사용성이 높아진다. > 고객과 밀접해 개발을 진행 할 수 있다. > 개발에 대한 노력 비용이 줄어든다. > 디자인 퀄리트가 상승하며, 유지하기가 좋아진다. > 몰랐던 것에 대한 이해가 높아진다. - 프로토 타입을 만 들 수 있는 도구를 배울 필요가 있다. - Throw-away Prototypes > 프로토 타입은 버리려고 만드는 것이다. > 프로토 타입은 만들 프로그램의 기..

[소프트웨어공학론] Software process models Part 1

1. The water fall model(Software life cycle model) ※ Integration : Systems가 A System(하나의 시스템)이 될때까지 반복 하는 과 - 위에서 아래로 한단계 단계가 폭포수가 떨어 지듯이 진행 되는 모델 - 하나의 과정이 끝난후 다음 단계로 넘어 가면 이전 단계로 돌아 갈 수 없다.(단반향) - 만약, 어떠한 단계에서 문제가 발생하더라도, 이전 단계로 돌아 갈 수 없기 때문에 우회적인 방법으로 문제를 해결한다. - 관리자 입장에서 계획을 관리하기가 쉽다. - 일을 협동해서 하기가 쉽다. (큰 틀이 주어지기 때문에 각자가 그 틀에 맞춰서 일을 하면 된다.) - 완벽한 설계와 구현이 있기 때문에 현재까지도 많이 사용 되고 있다. - 구현이 끝나고 관..

[하드웨어] Combinational Circuit Part 1

* circuit(회로) = 분리된 값을 연결해 주는 과정 - functional specification : Input과 Output의 관계, Boolean Algebra - Timing specification : Input이 Output으로 되는 시간(지연시간) * 용어 - circuit : element들의 집합 - element : circuit안의 하나의 작은 회로(input, output, specification을 가지고 있다.) - node : 어떤 이산가치 변수(voltage)를 전달하는 전선 > input node : 외부로부터 값을 받는 선 > output node : 외부로 값을 전달하는 선 > internal : circuit의 input이나 output 관계하지 않고, elem..

[소프트웨어공학론] Software Processes

* Software Process - 소프트웨어 개발을 위해 필요한 활동들의 집합 - 목적 소프트웨어에 따라서 필요한 활동들은 모두 다르지만 공통적인 활동이 몇개 존재한다. > Specification : 명세화, 시스템이 무엇을 해야하는지 기능을 정의하는 단계 > Design and implementation : 시스템 구조를 정의(Architecture Design)하고, 구현하는 단계 > Validation : 검토, 테스트 단계 > Evolution : 유지 보수 및 진화단계 * Software process descriptions(소프트웨어 개발 활동 계획서) - 각 소프트웨어의 개발(Activity) 순서에 따라서 개발 계획서를 작성한다. - 각 단계가 단계별로 꼭 표현이 되어야한다. - 각 ..