728x90
반응형

컴퓨터과학 63

[운영체제] 2. Interrupts

2022.03.06 - [컴퓨터 공학/0 +운영체제] - [운영체제] 1. 컴퓨터 구조(CPU 동작원리) [운영체제] 1. 컴퓨터 구조(CPU 동작원리) 특수대학원을 다니면서 운영체제 강의 내용을 정리하려고 한다. 이번 글은 1주차 강의 학습내용을 정리하려고한다. 우리는 컴퓨터를 사용한다... 그것도 매일!! mac, windows...? 뭐가 더 좋은걸까? howisitgo1ng.tistory.com 운영체제는 interrupt handler, exception handler의 모음이라고 말 할 수 있다. 그렇다면 인터럽트란 무언인가..? 인터럽트(interrupt)란 CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수..

[소프트웨어 테스팅] 3. Program Inspections, Walkthroughs and Reviews

2022.03.13 - [컴퓨터 공학/0 +소프트웨어 테스팅] - [소프트웨어 테스팅] 2. the psychology and economics of software testing [소프트웨어 테스팅] 2. the psychology and economics of software testing 소프트웨어 테스팅 2주차 강의내용 정리 소프트웨어를 테스트 하기 위해서는 경제성과 심리학적인 요소를 고려하는 것이 중요하다. The Psychology of Testing 테스트에 관한 심리성으로 잘못된 생각 howisitgo1ng.tistory.com 이전글에는 소프트웨어 테스팅의 심리학적, 경제적 관점에 대해서 알아보았다. 소프트웨어 테스트는 모든 테스터가 코드를 읽는 것은 아니지만, 테스트의 노력의 일환으로 ..

[소프트웨어 테스팅] 2. the psychology and economics of software testing

소프트웨어 테스팅 2주차 강의내용 정리 소프트웨어를 테스트 하기 위해서는 경제성과 심리학적인 요소를 고려하는 것이 중요하다. The Psychology of Testing 테스트에 관한 심리성으로 잘못된 생각은 다음과 같다. 테스트는 에러의 부재를 입증하는 과정이다. 테스트는 프로그램이 의도된 기능대로 올바르게 동작하는 것을 보여주기 위한 것이다. 테스트는 프로그램이 기대한 방향으로 동작하는 것을 확신을 주는 과정이다. 하지만 위 내용은 잘못된 것이다.! 테스트의 목적은 다음과 같이 정의 할 수 있다. 테스트는 오류를 찾기위해 프로그램을 실행하는 과정이다. 오류를 발견하여 프로그램을 파손!! 소프트웨어 테스트의 진짜 정의를 이해하는 것은 정말로 중요하다. 사람은 목표지향적인 경향이 강하며, 적절한 목표를..

[소프트웨어 테스팅] 1. 소프트웨어 테스팅

특수대학원에서 배우는 소프트웨어 테스팅 강의 내용을 정리하려고 한다. 프로그램을 개발하면 우리는 반드시 그 프로그램을 테스트 해봐야한다... 이유는 생략한다...(다들 알죠..?) 테스트 종류에 대해서 알아보자. 1. 개발 테스트(development test) 2. 배포 테스트(Release testing) 3. 사용자 테스트(User testing) 4. TDD(Test-driven development) 테스트 방식을 배우기에 앞서 프로그램 테스트(programing test)는 다음과 같은 특징이 있다. 1. 프로그램 사용전 결함을 확인 2. 소프트웨어를 테스트 할때, 인위적인 데이터를 사용하여 실행한다. 3. 에러, 비정상 또는 프로그램의 비기능적인 속성을 확인 4. 에러의 존재를 확인 5. v..

[운영체제] 1. 컴퓨터 구조(CPU 동작원리)

특수대학원을 다니면서 운영체제 강의 내용을 정리하려고 한다. 이번 글은 1주차 강의 학습내용을 정리하려고한다. 우리는 컴퓨터를 사용한다... 그것도 매일!! mac, windows...? 뭐가 더 좋은걸까? 🤗정답은 없다..! 일단..! 운영체제에 들어가기에 앞서 컴퓨터 구조에대해서 먼저 알아보도록 하자! 컴퓨터 구조는 다음과 같은 구성품이 있다. 1. cpu(processor) 2. main memory(주기억장치) 3. disk(보조 기억장치, storage system) 4. i/o devices 위 구조를 관리하는 소프트웨어를 컴퓨터 운영체제라고 한다. 위 그림과 같이 user user program os h/w 로 표현 할 수 있다. software는 user mode와 kernel mode 두..

[컴퓨터 구조] 5-3) 간접 사이클(indirect cycle)과 명령어 실행 사이클 예제

2021.10.03 - [컴퓨터 공학/0 + 컴퓨터 구조] - [컴퓨터 구조] 5-2) 명령어 종류와 실행 사이클 [컴퓨터 구조] 5-2) 명령어 종류와 실행 사이클 명령어 종류 IR에 보내진 명령어 코드를 제어 유닛에서 해독 한 후, 그 결과에 따라 필요한 연산들을 수행 이 과정에서 실행되는 마이크로 오퍼레이션들은 명령어의 종류에 따라 다른 과정으로 howisitgo1ng.tistory.com 명령어 실행 사이클(간접 사이클 indirect cycle) Addr 정보를 가지고 갔는데 주기억장치 데이터가 또 다른 addr정보를 갖고 있는 경우 인출 사이클의 마이크로 연산(micro-operation) 명령어에 포함되어 있는 주소정보를 이용하여, 실제 명령어 실행에 필요한 데이터를 인출하는 사이클 간접 주..

[컴퓨터 구조] 5-2) 명령어 종류와 실행 사이클

명령어 종류 IR에 보내진 명령어 코드를 제어 유닛에서 해독 한 후, 그 결과에 따라 필요한 연산들을 수행 이 과정에서 실행되는 마이크로 오퍼레이션들은 명령어의 종류에 따라 다른 과정으로 수행 데이터 전송명령 레지스터와 레지스터, 레지스터와 기억장치, 기억장치와 기억장치 간에 데이터를 이동시키는 명령 산술 연산명령 2의 보수 및 부동소수점 수에 관한 산술 연산명령 논리 연산명령 데이터의 각 비트들 간에 대한 논리 연산명령 입출력(I/O)명령 CPU와 외부I/O 장치들 간의 데이터를 이동시키는 명령 프로그램 제어명령 각 명령어의 실행 순서를 변경하는 분기(Branch), 서브루틴 호출(Subroutine Call)및 리턴 명령 명령어 실행 사이클(LOAD) 인출 사이클의 마이크로 연산(micro-opera..

[컴퓨터 구조] 5-1) 컴퓨터 처리 작업(Computer Processing)

컴퓨터 처리 작업(Computer Processing) 명령어 사이클 CPU가 하나의 명령어를 실행하는데 필요한 전체 처리과정 중단 될 때 까지 주기적으로 반복 인출 사이클 CPU가 주기어장치로부터 지정된 명령어를 읽어오는 단계 명령어 실행 명령어 레지스터에 적재된 명령어를 해독 후, 실행하는 단계 명령어 인출(instruction fetch) 주기억장치로 부터 지정된 주소에 있는 명령어를 IR로 가져옴 명령어 해독(instruction decode) 실행해야 할 동작을 결정하기 위해 인출된 명령어를 해독 데이터 인출(data fetch) 데이터가 필요한 경우 주기억장치 또는 입출력장치로 부터 데이터를 가져옴 데이터 처리(data process) 산술 및 논리적 연산 수행 데이터 저장(data store..

[컴퓨터 네트워킹] 4-3) TCP Congestion control

TCP Congestion control Too many sources sending too much data too fast for network to handle. -> 네트워크를 공유하고 있는 노드들이 서로 양보해야함… End to end Network-assisted AMID approach Additive increase: 천천히 증가 Multiplicative decrease: 반으로 감소 Congestion window(cwnd) 송신측이 ack 없이 한번에 데이터를 보내는 크기(congestion contro을 위해 계속 변함) TCP Receive window(rwin) 수신측이 ack없이 한 번에 data를 받을 수 있는 크기 상대방에게 자신이 처리 가능한 buffer 크기 만큼을 wi..

[컴퓨터 네트워킹] 4-2) TCP Retransmit(TCP 재전송)

TCP fast retransmit 송신자가 3개의 중복된 ACK를 받는다면 가장 작은 seq num의 segment를 전송한다. TCP 재전송 발생 조건 Timeout events Duplicate acks TCP Timeout value 설정 방법 RTT보다 길어야한다. SampleRTT ACK응답 까지 걸린 시간 EstimatedRTT SampleRTT의 평균 값 EstimatedRTT = (1-a) x EstimatedRTT(이전값)+ a x SampleRTT(현재값) Timeout Interval = EstimatedRTT + “Safety margin” 3 way handshake RST Flags: RST역할 e.g) Client가 Server에게 80port연결 할래! Server가 Cli..

728x90
반응형