강의노트

    [2021-1 운영체제] Chapter 3: 프로세스와 스레드

    [2021-1 운영체제] Chapter 3: 프로세스와 스레드

    3.1 프로세스의 정의 "수행 중인 프로그램" 프로그램과 데이터를 기본으로 정상적인 실행을 위해 필요한 환경을 시스템으로부터 부여받은 능동적인 존재다. (프로그램 + 데이터) + 환경 Process Control Block 프로세스 제어 블록 시스템에서 프로세스를 생성하는 것은 PCB를 생성하는 것과 같다. 프로세스에 대한 모든 정보를 가진 자료구조다. 프로세스 생성 시에 만들어진다. PCB는 메모리에 상주한다. 프로세스 번호, 프로세스 상태(대기, 실행, 준비 등), 프로세스 우선순위, PC 값, 메모리 포인터, 문맥 데이터, 할당받은 자원들에 대한 목록, 계정 정보, 입출력 정보 등을 가진다. 프로세스 상태의 변화 준비, 보류 준비 둘 다 프로그램을 실행하기 위한 준비가 완벽히 되어있는 상태다. 준비..

    [2021-1 프로그래밍언어론] Chapter 14: Exception Handling and Event Handling

    Introduction to Exception Handling 예외 처리가 불가능하다면, 예외가 발생했을 때 제어권은 운영체제로 이동하고, 에러 메세지가 표시되며 프로그램은 종료된다. 반면에 예외 처리가 가능하다면, 프로그램은 몇몇 예외에 대하여 적절한 처리를 함으로써 프로그램이 종료되지 않고 계속 실행될 수 있도록 할 수 있다. 예외(Exception)은 드물게 발생하는 이벤트로, 하드웨어나 소프트웨어에 의해 발견되며 특별한 처리가 필요하다. 이 특별한 처리를 exception handling이라고 부르며, 예외가 발견된 이후에 예외를 처리하는 코드 단위인 exception handler에 의해 진행된다. Exception Handling Alternatives 예외 처리가 불가능한 경우 대안들 보조 ..

    [2021-1 프로그래밍언어론] Chapter 12: Object-Oriented Programming

    객체지향 프로그래밍 언어의 3가지 특징 Abstract Data Types: 추상 자료형 Inheritance: 상속 Polymorphism: 다형성 Inheritance 상속 재사용이 가능하므로 생산성이 높아진다. ADT의 문제점이 모든 인스턴스가 독립적이고 동등하므로 재사용을 하기 어렵다는 것이었다. 이미 존재하는 것의 속성을 가져와 새로운 클래스를 정의하는 것을 허용한다. 👉🏻 ADT의 사소한 부분을 수정해 계층적으로 새로운 클래스를 정의해 재사용할 수 있도록 한다. (상속의 계층 구조) 유지보수가 어렵다는 단점이 있다. 부모가 바뀌면 자식들까지 모두 수정해야 하기 때문이다. Object-Oriented Concepts 객체지향의 개념 기본적으로 자식 클래스는 부모 클래스의 전부를 상속받지만, 캡슐..

    [2021-1 프로그래밍언어론] Chapter 11: Abstract Data Types and Encapsulation Constructs

    The Concept of Abstraction 추상화 특징적인, 가장 중요한 특성으로 전체를 표현하는 것 공통적인 속성이나 기능을 묶어 이름을 붙이는 것 거의 모든 프로그래밍 언어는 subprogram을 통해 process abstraction을 지원한다. 1980년대 이후의 거의 모든 프로그래밍 언어는 data abstraction을 지원한다. process abstraction에서 처리하는 데이터까지 추상화하는 방법 Abstract Data Type 다음의 두 조건을 만족하는 사용자 정의 자료형을 ADT라 칭한다: Hidden data representation 서비스하고자 하는 기능만 보여주며, 구체적인 내부 동작과 객체의 데이터 타입 등은 모두 숨긴다. 일종의 캡슐화 Operation 이 타입에..

    [2021-1 프로그래밍언어론] Chapter 10: Implementing Subprograms

    Subprogram Linkage 서브프로그램의 call과 return General sementics of calls: 파라미터 전달 방법 로컬 변수의 stack-dynamic 할당 호출한 프로그램의 실행 상태 저장 제어권 전달받기? 서브프로그램 중첩이 가능한 경우에서의 nonlocal variable 접근 방식 General sementics of returns: out mode와 inout mode 파라미터는 무조건 그들의 값을 반환해야 함 서브프로그램 안의 Stack-dynamic한 지역 변수들의 할당 해제 저장해뒀던 실행 상태로 되돌아가기 caller에게 제어권 반납하기 Implementing "Simple" Subprograms: 중첩 없이 모든 지역변수가 static인 경우 Stack-dyn..

    [2021-1 데이터마이닝및분석] Chapter 2: Data (3) Similarity

    유사도 측정 Measures of Similarity 유사도(Similarity)는 두 데이터 객체가 얼마나 비슷한지에 대한 척도다. 두 객체가 더 비슷할수록 유사도는 높아진다. 비유사도(Dissimilarity)는 두 객체가 얼마나 다른지에 대한 척도다. 두 객체가 유사할수록 비유사도는 낮아진다. 데이터 객체간의 유사도와 비유사도는 Clustering, NN 등 많은 데이터 마이닝 기술에서 사용되므로, 유사도(또는 비유사도)에 대한 측정 방법에 대해서는 꼭 알아둬야 한다. 데이터 간 유사도를 측정하는 방법은 많으므로, 내가 뭘 판단하고 싶은 건지에 따라 선택하면 된다. 유사도-비유사도 변환 Transformations $s(similarity) ∈ [0, 1], d(dissimilarity) ∈ [0,..

    [2021-1 데이터마이닝및분석] Chapter 2: Data (2) Preprocessing

    이전 글(cocosy.tistory.com/32)과 이어집니다. [2021-1 데이터마이닝및분석] Chapter 2: Data (1) 숙명여자대학교 이기용 교수님의 데이터마이닝및분석 수업을 글로 정리한 것입니다. 데이터 마이닝에서의 데이터 관련 문제들 데이터의 타입 각 attributes는 다른 데이터 타입으로 표현될 수 있 cocosy.tistory.com 3. 데이터 전처리 데이터를 데이터 마이닝에 더 적합한 모습으로 가공하는 추가적인 단계다. 데이터 전처리에는 다양한 방법이 존재하며, 그 중 몇가지를 같이 알아보자. 1. 집계 Aggregation 두개 이상의 객체를 하나의 객체로 합치는 것이다. 예를 들어, 같은 DEPARTMENT_ID 값을 가진 레코드에 대하여 SALARY를 모두 집계하여 하나..

    [2021-1 데이터마이닝및분석] Chapter 2: Data (1)

    숙명여자대학교 이기용 교수님의 데이터마이닝및분석 수업을 글로 정리한 것입니다. 데이터 마이닝에서의 데이터 관련 문제들 데이터의 타입 각 attributes는 다른 데이터 타입으로 표현될 수 있다. 범주형(순서형, 명목형), 숫자형(연속형, 이산형) 등.. 데이터의 질 노이즈, 이상점, 데이터 중복, 상실, 편향 데이터를 이해하고 퀄리티를 높여야 결과도 좋게 나온다. 전처리 Row data는 우리가 사용하려는 알고리즘에 맞게 가공되어야 한다. 차원 압축, numeric -> categorical 등.. 유사도 측정 두 객체간의 유사도가 필요한 알고리즘이 꽤 있음 유사도 측정 방법을 여러가지인데, 그 중에서 적절한 방법을 택하는 것이 중요 1-1. 데이터 타입 어떤 알고리즘을 사용하느냐에 따라 데이터 타입 ..