728x90

Study 183

최상위 클래스 Object

Object클래스를 이용해 객체 생성하기. public class A extends Object{ public A(){ super(); } public void display(){ System.out.println("A. "); } public void printGO(){ System.out.println("print go: A. "); } } //생략되어있는 것들을 추가 함. //extends obj, public a super() //결국은 전체가 a의 것. //부모, 자식 뭘로 가리킬건지, 부모는 업캐스팅해야 다 가리킬 수 있다. 디폴트 생성자 메서드 : 클래스 이름과 이름이 같고, 리턴 타입 안되고, super() 가 생략되어 있음. 부모 클래스에도 extends Object 가 생략되어 있다. ..

가상 메모리

가상 메모리 운영체제가 메모리를 관리하는 방법 등장배경: 메모리에 많은 프로세스들을 동시에 올려놓고 살행 시키기 위해 등장. 프로그램 일부분만 메모리에 올려놓고 실행한다. 프로세스 전체가 메모리에 올리오지 않아도 실행을 가능케 해준다. 물리 메모리에 제약을 받지 않게된다. 실제 물리 메모리의 개념과 사용자의 논리 메모리 개념을 분리. 가상 메모리 사용시 페이지 공유를 통해 둘 이상의 프로세스에서 파일과 메모리를 공유할 수 있다. 연속 메모리 할당 프로세스에 연속적인 메모리 공간을 할당하는 것. 프로세스들이 메모리 내에서 연속적으로 할당되는 방식. 프로세스의 크기만큼 메모리를 할당 받아 배치, 다음도 반복 메모리 관리 기능: 스와핑 현재 사용되지 않는 프로세스들을 보조 기적 장치 일부 영역 (스왑 영역) ..

CS 2024.03.10

메인 메모리

메인 메모리 cpu가 실제로 접근 할 수 있는 메모리. 프로세스가 되도록 하는 기반. 각 프로세스에는 별도의 메모리 공간이 존재한다 개별적인 메모리 공간을 보호하고, 병행적 실행을 위해 존재함. 특정 프로세스만 접근 할 수 있는 합법적인 메모리 주소 영역을 설정. 메모리 보호를 위한, 메모리 할당과 단편화 메모리는 일반적으로 상주 운영 체제용/ 유저 프로세스용으로 구분됨. 일반적으로 여러 유저 프로세스가 메모리에 적재되어 있는 것이 바람직하다. -> 메모리에 가져오기를 기다리고 있는 프로세스에 사용 가능한 메모리를 할당하는 방법을 고려야해야함 메모리 보호 재배치레지스터 : 가장 작은 물리 주소의 값 저장 상한 레지스터 : 논리 주소의 범위 값 저장 각 논리 주소는 상한 레지스터에 의해 지정된 범위 내에 ..

CS 2024.03.10

CPU 스케줄링

https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard CPU 스케줄링? 운영체제가 프로세스들에게 공정하고 합리적으로 CPU자원을 배분하는 것으로 컴퓨터 전체 성능과 직결되는 중요한 문제 CPU스케줄링의 목적? CPU 이용률을 극대화. 항상 어느 프로세스라도 CPU를 사용하고 있어야한다. 공정한 CPU스케줄링? 프로세스마다 우선 순위가 다름. 빨리 처리해야하는 프로세스가 있고, 천천히 해도 되는 프로세스도 있다. 이것은 사용자가 설정할 수도..

CS 2024.03.07

동기화 기법- 뮤텍스락, 세마포어, 모니터

동기화 기법 : 뮤텍스락, 세마포어 모니터 뮤텍스락: 상호배제를 위한 동기화 도구 동시 접근이 안되는 공유자원이 하나만 있는 경우를 상정한 방식 탈의실 사용 유무를 어떻게 알까? - 자물쇠의 사용 유무, 이 자물쇠 역할을 하는 것이 뮤텍스 락 세마포: 좀 더 일반화된 방식의 동기화 도구. 공유 자원이 여러 개 있을 때도 사용 가능 임계 구역 앞에서 멈춤 신호를 받으면 대기. 임계 구역 앞에서 가도 좋다는 신호를 받으면 임계구역 진입. 철도 신호기에서 유래한 단어이다. 세마포는 상호배제를 위한 동기화 뿐만 아니라, 실행 순서를 위한 동기화 제공도 한다. 사용자 입장에서 번거로운 세마포 단점을 보완. 실행 순서 제어를 위한 두가지 동기화 모두 제공 모니터는 공유자원과 공유자원에 접근하기 위한 통로를 묶어 관..

CS 2024.03.06

추상 클래스, 인터페이스

추상 클래스와 인터페이스는 왜 등장했나 부모가 자식에게 명령하면 자식이 무조건 동작해야한다. 이것을 다형성 보장이라고 한다. 다형성을 보장허려면, 재정의를 해야한다 [재정의?오버라이딩? 상속받은 메서드를 하위 클래스가 본인에게 맞게 편집해 사용하는 것. 동적 바인딩, 실행해야 안다. 상속과 관련이 있음 동적? 프로그램이 실행중] 재정의된 부모의 메서드는 자식으로 가는 통로 역할을 해준다. 즉, 본래(부모의) 가지고 있던 메시지는 필요가 없어진다. 그럼 부모는 이 메세지를 유지할 필요가 없어진다. 그래서 부모는 메서드의 구현부를 없앤다. public abstract class Animal { public abstract void eat();// 추상메서드라고 한다. 불완전 메서드 //:메서드의 구현부가 없..

교착상태 Deadlock

https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard [지금 무료] 개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제 강의 - 인프런 베스트셀러 『혼자 공부하는 컴퓨터 구조 + 운영체제』 저자 무료 직강. 개발자들이 꼭 알아야 할 컴퓨터 구조, 운영체제 전공서 요약집., 개발자 필수지식 컴퓨터 구조와 운영체제강의 하나로 www.inflearn.com 교착상태란 Deadlock? 프로세스들이 실행이 되려면 자원이 필요한데 ..

CS 2024.03.04

Thread 스레드, 멀티 프로세스, 멀티 스레드, IPC

ㅁhttps://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard [지금 무료] 개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제 강의 - 인프런 베스트셀러 『혼자 공부하는 컴퓨터 구조 + 운영체제』 저자 무료 직강. 개발자들이 꼭 알아야 할 컴퓨터 구조, 운영체제 전공서 요약집., 개발자 필수지식 컴퓨터 구조와 운영체제강의 하나로 www.inflearn.com Thread? 스레드는 프로세스를 구성하는 실행 흐름의 단위 하나의 프..

CS 2024.03.03

자바 - 다형성

다형성 Polymorphism ? 하나의 메세지가 다양한 형태로 나타난다. 상속을 알아야 다형성을 이해할 수 있다. 유저클래스는 자식의 구조를 모르기 때문에 (직접 접근 어려움) 부모를 통해 사용해야 한다. 이렇게 사용하려면 전제조건이 필요하다. 상속. 부모의 메서드를 자식 클래스가 재정의를해야한다. 이렇게 해 유저클래스가 부모 클래스를 구동해 자식 클래스의 재정의 메서드를 사용할 수 있다 ( 업캐스팅을 통해) 부모가 자식들에게 명령을 해야 다형성이 성립이 된다. 다형성을 사용하면 클래스의 유지보수가 쉬워지고 확장성이 좋아진다.

프로세스 - 메모리 영역, 상태와 계층 구조, PCB, fork, exec

https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard [지금 무료] 개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제 강의 - 인프런 베스트셀러 『혼자 공부하는 컴퓨터 구조 + 운영체제』 저자 무료 직강. 개발자들이 꼭 알아야 할 컴퓨터 구조, 운영체제 전공서 요약집., 개발자 필수지식 컴퓨터 구조와 운영체제강의 하나로 www.inflearn.com 프로세스? 실행중인 프로그램을 프로세스라고 한다. 작업의 단위 = 프로세..

CS 2024.02.28
728x90
반응형