[수강신청시 주의사항]
  • 컴퓨터 전공 외에 다른 전공 학생은 수강 불가합니다.
  • 컴퓨터 전공학생들은 컴퓨터구조와 마이크로프로세서를 수강한 경우 도움이 됩니다.
[운영체제]
[강의노트]
[과제]
    번호 내용
    1 1,2,3장 연습문제를 풀어 제출하시오.
    2 스마트폰 운영체제로 개발된 안드로이드는 리눅스 커널 위에 JVM(Java Virtual Machine)을 얻어서 구현한 운영체제이다. 안드로이드 운영체제에 대하여 책과 인터넷에서 다음을 조사하여 정리 제출하시오.
    • 안드로이드의 역사, 버전, 버전별 특징
    • 안드로이드의 특징, 구조 및 역할
    • 안드로이드의 개발환경 및 개발도구
      • JDK, SDK, 안드로이드 스튜디오 등 개발도구
      • 에뮬레이터
      • JNI 설명 및 사용방법
      • ADB 설명 및 사용방법
      • 플레이스토어에 앱등록 시 난독화 방법
    • 참고문헌 및 후기 (느낀점 및 기타등등)
    3 Linux 에서 다음과 같이 동작하는 프로그램을 작성하여 제출하시오.
    • pthread 를 사용하여 한 thread는 문자를 받아들이고 한 thread 는 문자를 처리함
    • 구체적인 동작
      • thread 를 두개 생성
      • 한 thread는 keyboard 입력을 받아들여서 배열에 저장
        • 입력받은 문자를 바로 저장하기 위하여 buffer를 사용하지 않는 getch() 함수를 사용
        • getch() 함수를 사용하려면 먼저 initscr() 함수를 호출해야함
        • ncurses.h 와 pthread.h 를 include 해야함
      • 다른 thread는 배열에 저장된 문자처리
        • 배열에 저장된 문자에서 work 라는 단어의 갯수를 세어서 출력
        • 현재 총입력된 문자의 갯수를 세어서 출력
        • backspace를 누르면 뒤로 이동 하면서 문자갯수와 work 발생 갯수를 조정
        • enter를 누르면 처음으로 오면서 다시 시작
        • 자신의 학번과 이름을 출력
    • 실행 예
      • 명령: thread
      • 컴파일: cc -o thread thread.c -lpthread -lncurses
      • 화면 출력 위치 조정은 ncurses 의 move(y,x) 와 getyx(win,y,x) 함수를 사용 (기타 자세한 사항은 아래 간단 ncurses 사용법을 참조)
    • 제출내용
      • 프로그램 소스 내용(thread.c)
      • 결과화면 캡춰해서 워드프로세서에 삽입
      • 과제후기
    • 제출방법
      • 웹으로 제출
      • 워드프로세서는 아래아 한글이나 MS 워드사용할 것
    • 주의
      • Linux 상에서 실행파일을 다운로드 받아서 실행해 보면서 프로그램 할것. (단, 다운로드후 chmod 755 thread 명령을 수행해야 실행됨)
      • 두 개의 thread 가 동시에 수행되므로 공유변수에 대하여 상호배제하도록 구현해야함
    [주의 사항]
    4 4,5,6,7장 연습문제를 풀어 제출하시오.

[과제제출 및 성적확인]
[과목 게시판]
[관련링크]