본문 바로가기

728x90
반응형

KNU_study

운영체제(4) Thread 1. Thread Thread : CPU utilization의 기본 단위. -> PC, register set, stack space로 구성된다. -> 다른 스레드와 Task(code section, data section, operating-system resources)를 공유한다. -> fork()와 pthread_create()는 각각 프로세스, 스레드를 만드는 명령어다. -> [heavyweight process] or [traditional process] = [a task with one thread] 2. Multithreaded Server Architecture (1) 한 프로세스에 여러 개의 스레드를 연결할 수 있다. -> 각 thread에는 일련의 PC값들과 고유한 TID(Thre.. 더보기
운영체제(3) Process - 프로세스의 개별 구성 요소를 식별, OS에서 이러한 구성요소의 표시와 예약되는 방식을 설명 - OS에서 프로세스가 생성되고, 종료되는 방법을 설명 - 공유 메모리 및 message passing을 사용하는 프로세스 간 통신을 설명, 대조 1. Process Process : 실행 중인 프로그램. process는 순차적으로 진행되어야 한다. -> Active process : 실행 파일이 Memory에 로드된 상태, 마우스 클릭 등을 통해 프로그램 실행 시작 -> Passive process : 디스크에 저장된 수동 엔티티(실행 파일)인 상태 -> process의 다중 부품 (1) Text section : 프로그램 코드 (2) Program counter(PC) : 현재 주소값, PC를 포함한 현재 .. 더보기
운영체제(2) Operating-System Structures 1. Four fundamental OS concepts (1) Thread : single unique execution context (parent process의 resource를 다 공유하면서도, 별도의 stack을 가진다.) (스레드는 stack은 따로 사용하지만, 코드 영역과 데이터 영역은 하나를 공유한다.) (데이터 영역의 변수를 통해서 쉽고 빠르게 통신 가능, 그러나 비정상 종료 시 모든 스레드 강제 종료.) (2) Process : 컴퓨터에서 연속적으로 실행되고 있는 프로그램, 현재 실행 중인 프로그램 (프로세스는 서로 완전히 독립적인 공간을 가진다. 자기만의 스택, 데이터 영역을 가짐.) (서로의 영역을 볼 수 없기에 프로세스 간의 통신은 번거롭다. 그러나 비정상 종료 시 서로 영향 X.. 더보기
운영체제(1) OS 0. OS OS란 resource manager이다. OS는 system을 control한다. -> 하드웨어를 컨트롤하는 detail한 부분을 숨기고, 프로그래머가 하드웨어까지 컨트롤하지 않게끔 하는 목적 -> 컴퓨터 시스템의 4가지 분류 : 하드웨어, OS, 응용 프로그램, 사용자 1. 폰 노이만 아키텍처 모든 메모리를 저장 후, 하나씩 빼서 사용한다. https://m.blog.naver.com/with_msip/221981730449 2. resource sharing, resource abstraction [OS의 역할] (1) resource sharing 여러 사용자가 하나의 자원을 함께 사용하는 것, 효율적인 자원 사용이 가능 ex : 여러 사용자가 하나의 컴퓨터를 공유, 하나의 인터넷 연결.. 더보기
마이크로프로세서 암기노트(중간고사) 1. Memory interface하기 시험에 나올 것 같음. 2. 명령어 -> 크기별로 1, 2, 3byte 명령어가 존재 -> 기능별로 산술 연산, 논리 연산, 데이터 전송 연산이 존재 MOV r1, r2 1byte 명령어 opcode fetch r2 data를 r1에 복사해 MOV r, M 1byte 명령어 opcode fetch + MEMR M 주소인 data를 A에 복사 MOV M, r 1byte 명령어 opcode fetch + MEMW A의 data를 M 주소에 복사해 LDAX rp 1byte 명령어 opcode fetch + MEMR rp 주소인 data를 A에 복사해 STAX rp 1byte 명령어 opcode fetch + MEMW A의 data를 rp 주소에 복사해 ADD r 1byt.. 더보기
마이크로프로세서(17) Stack과 Subroutine 1. Stack Stack : 메모리의 일부분, 프로그램 실행 중에 저장해야 하는 것을 잠시 저장해두는 공간이다. -> SP : Stack 번지의 첫주소 SP를 사용하는 명령어는 LXI가 유일하다. 프로그램을 짤 때마다 Stack의 양을 계산하는 것은 쉽지 않다. -> 그 대신, 메모리의 맨 끝 번지에 저장해두자. 저절로 감소하면서 저장될 것이다. (PC는 1씩 증가하면서 저장되듯이, SP는 2씩 감소하면서 저장된다는 느낌으로 ~~) 사실 3009H 말고, 실수로 로 작성해도 오류가 나지 않는다. 아래 알고리즘 참고 Stack : [300AH에 저장] -> [1 감소] -> [3009H에 저장] -> [1 감소] Stack : [1 감소] -> [3009H에 저장] -> [1 감소] -> [3008H에 .. 더보기
마이크로프로세서(16) 프로그램 코드 설계 예제 1. 50H - 40H 문제 : 2052H 주소에 data 50H가, 2051H 주소에 data 40H이 저장되어 있다. 50H - 40H의 값을 2053H 주소에 저장해라. -> 뺄셈은 무조건 A(accumulator)에서 실행 가능하다. -> 40H를 먼저 A로 가져와 B로 옮겨두고, 50H를 A로 가져온다. 그런 후 A에서 B를 빼면 결과가 나온다. LDA 2052H MOV B, A LDA 2051H SUB B STA 2053H 만약 이 코드를 읽고, address bus를 채워 넣으라 하면 다음과 같다. 2. 옛날 호텔 제어 system -> IN 00H : input 포트로부터 00H를 받아서 무조건 A에 저장하라는 명령어. -> 그걸 그대로 output 포트로 내보내면 된다. IN 00H OU.. 더보기
마이크로프로세서(15) I/O interface Memory interface에 대한 내용이 궁금하다면 여기를 클릭 !! 1. Review : Memory interface 메모리는 D flipflop를 사용한다. 참고로 이번 챕터에서 공부할 I/O는 latch 혹은 버퍼를 사용한다. 2. I/O interface 공간이 모자랄 수 있기 때문에 address bus와 control bus를 결합해서 enable신호를 준다. -> 둘 다 1일 때만 신호를 흐르게 한다. 3. INPUT 포트와 OUTPUT 포트 active low로 동작한다. 인풋 포트 00H를 enable시키면 다음 그림과 같다. 그 아래 그림은 비용 절감이라는 장점이 있는 버전이다. 오류 ㅎㅎ ㅠㅠ : input 포트는 NAND 게이트로 연결되어야 함 오류 ㅎㅎ ㅠㅠ : input 포.. 더보기

728x90
반응형