Coding, Filming, and Nothing
article thumbnail
1.5 Core components of OS
무제 메모장 2021. 4. 11. 02:27

1. 운영체제의 핵심 요소들 Process management Memory management Storage management Protection and Security #필기 *컴퓨터 관리를 위한 다양한 관리 기능 2. 프로세스 관리 - 프로세서의 정의 프로세스 : 실행 중인 프로그램(활성화된 vmfhrmfoa) Job, time-shared 프로그램 자원요구와 함께 활성화된 프로그램 ex) word 하나의 스레드 프로세스는 PC를 가지고 있다. 다중 프로그램 인스턴스의 경우, 프로세스를 세분화 작업의 단위(Unit)이기도 함 운영체제의 프로세스와, 유저의 프로세스로도 구분 #필기 프로그램은 원래 디스크에 위치한다, 실행을 함으로써 메모리 -> CPU에서 활성화가 이루어 진다. 동일한 프로그램을 여러..

article thumbnail
1.4 Operating System Structure and Operation
무제 메모장 2021. 4. 11. 00:33

1. Operating System Structure Motivation 단일 사용자가 계속해서 I/O 디바이스와 CPU를 동시에 사용하는 것을 유지할 수 없음 -> CPU utilization 을 높이기 위해서 CPU를 쓰지 않을 때 최대한 사용하게 하자 멀티프로그래밍 멀티프로그래밍은 jobs(코드와 데이터)로 구성되어 있는데, CPU는 항상 한 job 밖에 실행하지 못함. 모든 job중에 일부를 메모리에 저장/적재 한다. 하나의 job을 선택해서 실행을 시키는데, 이때 job scheduling에 의해 실행된다. OS는 job이 I/O 등으로 인해 대기해야하면 다른 Job으로 스위칭을 수행한다. #필기 멀티프로그래밍의 최초 동기는 CPU Utilization을 높이고자 하는데에서 시작을 했다. CPU..

article thumbnail
1.3 Computer System Architecture
무제 메모장 2021. 4. 9. 22:38

1. Computer System Architecture 종류) Single processor sys Multi-processor sys Clustered sys #필기 보통 CPU = processor의 개념이 있음 Q.Multi core processor는 어디에 해당하는가? -> Multi processor에 해당. 2. Single-Processor system (교수님께서도 저렴하고, 단순하다 정도로 뭐가 좋은지 잘 모르겠다라고 말씀하시면서 건너 뛰심) 3. Multi-Processor Systems 2개 혹은 그 이상의 프로세서들이 close communication을 갖는 것 Tightly-coupled sys라고 부르기도 한다. 이들은 shared bus, clock, memory, per..

article thumbnail
1.1 Chain of Responsibility Pattern
무제 메모장 2021. 4. 6. 16:37

체인 반응, 책임 떠 넘기기 패턴 0. 대략적인 개념 어떤 요청이 발생한 경우, 처리하는 패턴들 중 Chain of Responsibility pattern을 사용하는 방법 책임 떠 넘기기(교재 내 번역) 패턴은 다음 담당자에게로 진짜 담당자를 찾을 때 까지 리퀘스트가 설정된 순서대로 넘겨지는 것을 의미한다. 어떤 요청이 발생한 경우에, 그 요청할 처리할 오브젝트를 직접 결정할 수 없는 경우에 사용된다. 복수의 오브젝트(객체)를 사슬처럼 연결해 그 사슬을 돌아다니며 문제를 해결할 Target Obj.를 결정한다. 해당 패턴을 사용함으로써 Clinet와 Handler를 고립시킬 수 있다. 물론 체인의 제일 앞에 위치한 Handler는 알아야 한다. 그 이후로는 Chain에서 자동으로 처리 된다. 1. 예시..

article thumbnail
4.1 Socket Communication Test
무제 메모장 2021. 4. 6. 12:12

OODP -> JAVA로 수업 소켓의 개념적인 내용은 OS 수업에서 가져왔다 0. Socket 소켓은 통신의 가장 바닥/기본(endPoint)라고 한다. 소켓은 IP주소와 port번호로 이루어져 있는데 이를 표기하면 아래와 같다 a Socket = : 각 연결은 한 쌍의 소켓에 의해서 정의가 된다. 여기서 포트(Port)는 컴퓨터가 인식할 수 있는 logical contact point 이다. 컴퓨터는 0 ~ 65535 까지의 포트 번호를 가질 수 있다. 그런데 보통은, 1024 이하의 포트번호는 예약이 되어 있는데 http:80, ftp:21, telnet:23 등이 있다. 그래서 특별한 목적으로 포트번호를 지정하는 경우(보통 보안), 1024 이상의 포트 번호를 사용한다. ex) nipa 포트번호 5..

article thumbnail
1.2 Computer system organization and operation
무제 메모장 2021. 3. 16. 16:02

1. 컴퓨터 시스템의 동작 컴퓨터가 실행되기 시작하면 무슨 일이 일어나는가? Bootstrap program(firmware) 가 실행이 된다. 시스템을 진단하고 초기화를 수행한다. 그리고, OS Kernel을 적재하고 실행시킨다. (Bootstrap loader) OS Kernel 부팅된다. (초기) 어떠한 일(event)을 대기한다. 그리고 그 이벤트를 처리한다. 현대의 운영체제들은 Interrupt driven programs 이다. #필기 펌웨어(Firmware) 아주 작은 프로그램으로, 메인보드에 위치해있다. 해당 프로그램은 전원을 켜면 실행이 된다. 첫번째로, 하드웨어의 진단(e.g. 키보드 유/무에 따른 경고)과 초기화를 수행한다. 두번째로, 운영체제를 읽고 실행을 한다. 펌웨어가 어떻게 O..

article thumbnail
1.1 Definitions of operating system
무제 메모장 2021. 3. 16. 00:26

1장에서 다룰 내용 -> 운영체제가 커버하는 내용에 대한 프리뷰를 할 예정 1. 운영 체제란? 운영체제의 적절하고, 완벽한 정의가 없다. 하지만 대략적으로 운영체제는 유저와 하드웨어의 중간(intermediary)에 있으며 Kernel과 추가적인 프로그램(커널이 아닌 것!)들로 구성이 되어 있다. 커널 : 항상 실행되고 잇는 운영체제의 핵심 시스템과 어플리케이션 프로그램은 포함하지 않는다. Middleware : 개발자가 응용하는 추가적인 서비스를 제공하는 소프트웨어 프레임워크의 집합 (ex, database, multimedia, graphics) #필기 커널은 매우 명확한 유닛이다. - 하드웨어에 직접 접근할 수 있다. - 부팅 후 계속해서 실행이 된다. 운영체제의 목표 유저의 프로그램을 실행하고, ..